widgetresize-integration.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /**
  2. * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
  4. */
  5. /* global document, Event */
  6. import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
  7. import { setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
  8. import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
  9. import Image from '@ckeditor/ckeditor5-image/src/image';
  10. import ImageResize from '@ckeditor/ckeditor5-image/src/imageresize';
  11. describe( 'WidgetResize - integration', () => {
  12. let editor, model, view, viewDocument, editorElement;
  13. testUtils.createSinonSandbox();
  14. beforeEach( () => {
  15. editorElement = document.createElement( 'div' );
  16. document.body.appendChild( editorElement );
  17. return ClassicEditor.create( editorElement, { plugins: [ Image, ImageResize ] } )
  18. .then( newEditor => {
  19. editor = newEditor;
  20. model = editor.model;
  21. view = editor.editing.view;
  22. viewDocument = view.document;
  23. } );
  24. } );
  25. afterEach( () => {
  26. editorElement.remove();
  27. return editor.destroy();
  28. } );
  29. it( 'should not fire viewDocument#mousedown events after starting resizing', () => {
  30. const eventSpy = sinon.spy().named( 'ViewDocument#mousedown' );
  31. setModelData( model, '[<image src="/assets/sample.png"></image>]' );
  32. const resizeSquareUI = [ ...viewDocument.getRoot().getChild( 0 ).getChildren() ]
  33. .find( element => element.hasClass( 'ck-widget__resizer' ) );
  34. const squareDomElement = view.domConverter.mapViewToDom( resizeSquareUI ).querySelector( '.ck-widget__resizer__handle-top-left' );
  35. viewDocument.on( 'mousedown', eventSpy );
  36. squareDomElement.dispatchEvent( new Event( 'mousedown' ) );
  37. expect( eventSpy.called ).to.equal( false );
  38. } );
  39. } );