Sfoglia il codice sorgente

Tests (widget): Added unit test ensuring that new resizer will be shown if associated widget element is focused prior resizer creation.

Marek Lewandowski 5 anni fa
parent
commit
18ddae9401
1 ha cambiato i file con 31 aggiunte e 14 eliminazioni
  1. 31 14
      packages/ckeditor5-widget/tests/widgetresize.js

+ 31 - 14
packages/ckeditor5-widget/tests/widgetresize.js

@@ -468,20 +468,43 @@ describe( 'WidgetResize', () => {
 	} );
 
 	describe( 'attachTo()', () => {
-		it( 'works without WidgetToolbarRepository plugin', async () => {
-			const localEditorElement = createEditorElement();
-			const localEditor = await ClassicEditor.create( localEditorElement, {
+		let localEditorElement, localEditor;
+
+		beforeEach( async () => {
+			localEditorElement = createEditorElement();
+			localEditor = await ClassicEditor.create( localEditorElement, {
 				plugins: [
 					WidgetResize, simpleWidgetPlugin
 				]
 			} );
+		} );
+
+		afterEach( () => {
+			localEditorElement.remove();
+			return localEditor.destroy();
+		} );
+
+		it( 'works without WidgetToolbarRepository plugin', async () => {
+			setModelData( localEditor.model, '[<widget></widget>]' );
+
+			localEditor.plugins.get( WidgetResize ).attachTo( gerResizerOptions( localEditor ) );
+			// Nothing should be thrown.
+		} );
 
+		it( 'sets the visible resizer if associated widget is already focused', async () => {
 			setModelData( localEditor.model, '[<widget></widget>]' );
 
-			const resizerOptions = {
-				modelElement: localEditor.model.document.getRoot().getChild( 0 ),
-				viewElement: localEditor.editing.view.document.getRoot().getChild( 0 ),
-				editor: localEditor,
+			const widgetResizePlugin = localEditor.plugins.get( WidgetResize );
+			const resizer = widgetResizePlugin.attachTo( gerResizerOptions( localEditor ) );
+
+			expect( widgetResizePlugin.visibleResizer ).to.eql( resizer );
+		} );
+
+		function gerResizerOptions( editor ) {
+			return {
+				modelElement: editor.model.document.getRoot().getChild( 0 ),
+				viewElement: editor.editing.view.document.getRoot().getChild( 0 ),
+				editor,
 
 				isCentered: () => false,
 				getHandleHost( domWidgetElement ) {
@@ -493,13 +516,7 @@ describe( 'WidgetResize', () => {
 
 				onCommit: commitStub
 			};
-
-			localEditor.plugins.get( WidgetResize ).attachTo( resizerOptions );
-			// Nothing should be thrown.
-			// And clean up.
-			localEditorElement.remove();
-			return localEditor.destroy();
-		} );
+		}
 	} );
 
 	describe( 'init()', () => {