Selaa lähdekoodia

Fix unit tests.

panr 5 vuotta sitten
vanhempi
commit
4fcdefe218

+ 50 - 1
packages/ckeditor5-image/tests/imageresize/imageresize.js

@@ -3,16 +3,65 @@
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
  */
 
+/* globals document */
+
+import ClassicTestEditor from '@ckeditor/ckeditor5-core/tests/_utils/classictesteditor';
+import Image from '../../src/image';
+import ImageStyle from '../../src/imagestyle';
 import ImageResize from '../../src/imageresize';
 import ImageResizeUI from '../../src/imageresize/imageresizeui';
 import ImageResizeEditing from '../../src/imageresize/imageresizeediting';
+import ImageResizeHandles from '../../src/imageresize/imageresizehandles';
 
 describe( 'ImageResize', () => {
 	it( 'should require "ImageResizeEditing" and "ImageResizeUI"', () => {
-		expect( ImageResize.requires ).to.deep.equal( [ ImageResizeEditing, ImageResizeUI ] );
+		expect( ImageResize.requires ).to.deep.equal( [ ImageResizeEditing, ImageResizeHandles, ImageResizeUI ] );
 	} );
 
 	it( 'should be named', () => {
 		expect( ImageResize.pluginName ).to.equal( 'ImageResize' );
 	} );
+
+	describe( 'init()', () => {
+		describe( 'ImageResizeHandles', () => {
+			it( 'should force disable the "ImageResizeHandles" plugin if "image.disableResizeHandles: true"', async () => {
+				const element = document.createElement( 'div' );
+				document.body.appendChild( element );
+
+				const editor = await ClassicTestEditor.create( element, {
+					plugins: [ Image, ImageStyle, ImageResize ],
+					image: {
+						disableResizeHandles: true
+					}
+				} );
+
+				const imageResizeHandlesPlugin = editor.plugins.get( 'ImageResizeHandles' );
+
+				expect( imageResizeHandlesPlugin.isEnabled ).to.be.false;
+				expect( imageResizeHandlesPlugin._disableStack.size ).to.equal( 1 );
+				expect( imageResizeHandlesPlugin._disableStack.has( 'ImageResize' ) ).to.be.true;
+
+				editor.destroy();
+				element.remove();
+			} );
+
+			it( 'should not force disable the "ImageResizeHandles" plugin if no "image.disableResizeHandles" is provided', async () => {
+				const element = document.createElement( 'div' );
+				document.body.appendChild( element );
+
+				const editor = await ClassicTestEditor.create( element, {
+					plugins: [ Image, ImageStyle, ImageResize ]
+				} );
+
+				const imageResizeHandlesPlugin = editor.plugins.get( 'ImageResizeHandles' );
+
+				expect( imageResizeHandlesPlugin.isEnabled ).to.be.false;
+				expect( imageResizeHandlesPlugin._disableStack.size ).to.equal( 0 );
+				expect( imageResizeHandlesPlugin._disableStack.has( 'ImageResize' ) ).to.be.false;
+
+				editor.destroy();
+				element.remove();
+			} );
+		} );
+	} );
 } );

+ 1 - 3
packages/ckeditor5-image/tests/imageresize/imageresizeediting.js

@@ -17,9 +17,7 @@ import ImageStyle from '../../src/imagestyle';
 
 import { setData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
 
-import {
-	focusEditor
-} from '@ckeditor/ckeditor5-widget/tests/widgetresize/_utils/utils';
+import { focusEditor } from '@ckeditor/ckeditor5-widget/tests/widgetresize/_utils/utils';
 
 describe( 'ImageResizeEditing', () => {
 	// 100x50 black png image

+ 9 - 8
packages/ckeditor5-image/tests/imageresize/imageresizehandles.js

@@ -3,7 +3,7 @@
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
  */
 
-/* global document, window */
+/* global document */
 
 // ClassicTestEditor can't be used, as it doesn't handle the focus, which is needed to test resizer visual cues.
 import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
@@ -57,12 +57,19 @@ describe( 'ImageResizeHandles', () => {
 	beforeEach( () => createEditor() );
 
 	afterEach( () => {
+		const wrappers = Array.from( document.querySelectorAll( '.ck-body-wrapper' ) );
+
+		// We need to remove all leftovers manually.
+		for ( const wrapper of wrappers ) {
+			wrapper.remove();
+		}
+
 		if ( editorElement ) {
 			editorElement.remove();
 		}
 
 		if ( editor ) {
-			return editor.destroy();
+			editor.destroy();
 		}
 	} );
 
@@ -159,8 +166,6 @@ describe( 'ImageResizeHandles', () => {
 
 			resizerMouseSimulator.down( editor, domParts.resizeHandle );
 
-			await wait( 40 );
-
 			resizerMouseSimulator.move( editor, domParts.resizeHandle, null, initialPointerPosition );
 
 			expect( resizeWrapperView.getStyle( 'width' ) ).to.equal( '100px' );
@@ -401,10 +406,6 @@ describe( 'ImageResizeHandles', () => {
 		} );
 	} );
 
-	function wait( delay ) {
-		return new Promise( resolve => window.setTimeout( () => resolve(), delay ) );
-	}
-
 	function getDomWidth( domElement ) {
 		return new Rect( domElement ).width;
 	}