| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
- /* global Event */
- import preventDefault from '../../src/bindings/preventdefault';
- import View from '../../src/view';
- describe( 'preventDefault', () => {
- it( 'prevents default of a native DOM event', () => {
- const view = new View();
- view.setTemplate( {
- tag: 'div',
- on: {
- foo: preventDefault( view )
- }
- } );
- const evt = new Event( 'foo', { bubbles: true } );
- const spy = sinon.spy( evt, 'preventDefault' );
- // Render to enable bubbling.
- view.render();
- view.element.dispatchEvent( evt );
- sinon.assert.calledOnce( spy );
- } );
- it( 'prevents only when target is view#element', () => {
- const view = new View();
- const child = new View();
- child.setTemplate( {
- tag: 'a'
- } );
- view.setTemplate( {
- tag: 'div',
- on: {
- foo: preventDefault( view )
- },
- children: [
- child
- ]
- } );
- const evt = new Event( 'foo', { bubbles: true } );
- const spy = sinon.spy( evt, 'preventDefault' );
- // Render to enable bubbling.
- view.render();
- child.element.dispatchEvent( evt );
- sinon.assert.notCalled( spy );
- } );
- } );
|