8
0
Quellcode durchsuchen

Adjusted to changes made to engine view.

Szymon Kupś vor 8 Jahren
Ursprung
Commit
03ee6fe01f

+ 1 - 1
packages/ckeditor5-image/src/image.js

@@ -49,7 +49,7 @@ export default class Image extends Plugin {
 		// https://github.com/ckeditor/ckeditor5-image/issues/110
 		if ( contextualToolbar ) {
 			this.listenTo( contextualToolbar, 'show', evt => {
-				if ( isImageWidgetSelected( editor.editing.view.selection ) ) {
+				if ( isImageWidgetSelected( editor.editing.view.document.selection ) ) {
 					evt.stop();
 				}
 			}, { priority: 'high' } );

+ 2 - 2
packages/ckeditor5-image/src/image/ui/utils.js

@@ -20,7 +20,7 @@ import { isImageWidgetSelected } from '../utils';
 export function repositionContextualBalloon( editor ) {
 	const balloon = editor.plugins.get( 'ContextualBalloon' );
 
-	if ( isImageWidgetSelected( editor.editing.view.selection ) ) {
+	if ( isImageWidgetSelected( editor.editing.view.document.selection ) ) {
 		const position = getBalloonPositionData( editor );
 
 		balloon.updatePosition( position );
@@ -40,7 +40,7 @@ export function getBalloonPositionData( editor ) {
 	const defaultPositions = BalloonPanelView.defaultPositions;
 
 	return {
-		target: editingView.domConverter.viewToDom( editingView.selection.getSelectedElement() ),
+		target: editingView.domConverter.viewToDom( editingView.document.selection.getSelectedElement() ),
 		positions: [
 			defaultPositions.northArrowSouth,
 			defaultPositions.southArrowNorth

+ 8 - 9
packages/ckeditor5-image/src/imagecaption/imagecaptionengine.js

@@ -10,7 +10,6 @@
 import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
 import ViewContainerElement from '@ckeditor/ckeditor5-engine/src/view/containerelement';
 import ViewElement from '@ckeditor/ckeditor5-engine/src/view/element';
-import viewWriter from '@ckeditor/ckeditor5-engine/src/view/writer';
 import ViewPosition from '@ckeditor/ckeditor5-engine/src/view/position';
 import buildViewConverter from '@ckeditor/ckeditor5-engine/src/conversion/buildviewconverter';
 import { isImage } from '../image/utils';
@@ -34,7 +33,7 @@ export default class ImageCaptionEngine extends Plugin {
 	 */
 	init() {
 		const editor = this.editor;
-		const viewDocument = editor.editing.view;
+		const view = editor.editing.view;
 		const schema = editor.model.schema;
 		const data = editor.data;
 		const editing = editor.editing;
@@ -54,7 +53,7 @@ export default class ImageCaptionEngine extends Plugin {
 		 * @private
 		 * @member {Function}
 		 */
-		this._createCaption = captionElementCreator( viewDocument, t( 'Enter image caption' ) );
+		this._createCaption = captionElementCreator( view, t( 'Enter image caption' ) );
 
 		// Schema configuration.
 		schema.register( 'caption', {
@@ -85,7 +84,7 @@ export default class ImageCaptionEngine extends Plugin {
 		editing.modelToView.on( 'remove', ( evt, data ) => this._fixCaptionVisibility( data.position.parent ), { priority: 'high' } );
 
 		// Update view before each rendering.
-		this.listenTo( viewDocument, 'render', () => this._updateCaptionVisibility(), { priority: 'high' } );
+		this.listenTo( view.renderer, 'render', () => this._updateCaptionVisibility(), { priority: 'high' } );
 	}
 
 	/**
@@ -206,7 +205,7 @@ function captionModelToView( elementCreator, hide = true ) {
 				viewCaption.addClass( 'ck-hidden' );
 			}
 
-			insertViewCaptionAndBind( viewCaption, data.item, viewImage, conversionApi.mapper );
+			insertViewCaptionAndBind( viewCaption, data.item, viewImage, conversionApi );
 		}
 	};
 }
@@ -217,12 +216,12 @@ function captionModelToView( elementCreator, hide = true ) {
 // @param {module:engine/view/containerelement~ContainerElement} viewCaption
 // @param {module:engine/model/element~Element} modelCaption
 // @param {module:engine/view/containerelement~ContainerElement} viewImage
-// @param {module:engine/conversion/mapper~Mapper} mapper
-function insertViewCaptionAndBind( viewCaption, modelCaption, viewImage, mapper ) {
+// @param {Object} conversionApi
+function insertViewCaptionAndBind( viewCaption, modelCaption, viewImage, conversionApi ) {
 	const viewPosition = ViewPosition.createAt( viewImage, 'end' );
 
-	viewWriter.insert( viewPosition, viewCaption );
-	mapper.bindElements( modelCaption, viewCaption );
+	conversionApi.writer.insert( viewPosition, viewCaption );
+	conversionApi.mapper.bindElements( modelCaption, viewCaption );
 }
 
 // Checks if the provided node or one of its ancestors is a caption element, and returns it.

+ 4 - 4
packages/ckeditor5-image/src/imagecaption/utils.js

@@ -17,16 +17,16 @@ const captionSymbol = Symbol( 'imageCaption' );
 /**
  * Returns a function that creates a caption editable element for the given {@link module:engine/view/document~Document}.
  *
- * @param {module:engine/view/document~Document} viewDocument
+ * @param {module:engine/view/view~View} view
  * @param {String} placeholderText The text to be displayed when the caption is empty.
  * @return {Function}
  */
-export function captionElementCreator( viewDocument, placeholderText ) {
+export function captionElementCreator( view, placeholderText ) {
 	return () => {
 		const editable = new ViewEditableElement( 'figcaption' );
-		editable.document = viewDocument;
+		editable.document = view.document;
 		editable.setCustomProperty( captionSymbol, true );
-		attachPlaceholder( editable, placeholderText );
+		attachPlaceholder( view, editable, placeholderText );
 
 		return toWidgetEditable( editable );
 	};

+ 4 - 3
packages/ckeditor5-image/src/imagetextalternative.js

@@ -83,7 +83,8 @@ export default class ImageTextAlternative extends Plugin {
 	 */
 	_createForm() {
 		const editor = this.editor;
-		const editingView = editor.editing.view;
+		const view = editor.editing.view;
+		const viewDocument = view.document;
 
 		/**
 		 * The contextual balloon plugin instance.
@@ -122,8 +123,8 @@ export default class ImageTextAlternative extends Plugin {
 		} );
 
 		// Reposition the balloon or hide the form if an image widget is no longer selected.
-		this.listenTo( editingView, 'render', () => {
-			if ( !isImageWidgetSelected( editingView.selection ) ) {
+		this.listenTo( viewDocument, 'change', () => {
+			if ( !isImageWidgetSelected( viewDocument.selection ) ) {
 				this._hideForm( true );
 			} else if ( this._isVisible ) {
 				repositionContextualBalloon( editor );

+ 2 - 2
packages/ckeditor5-image/src/imagetoolbar.js

@@ -80,7 +80,7 @@ export default class ImageToolbar extends Plugin {
 		this._toolbar.fillFromConfig( toolbarConfig, editor.ui.componentFactory );
 
 		// Show balloon panel each time image widget is selected.
-		this.listenTo( editor.editing.view, 'render', () => {
+		this.listenTo( editor.editing.view.document, 'change', () => {
 			this._checkIsVisible();
 		}, { priority: 'low' } );
 
@@ -102,7 +102,7 @@ export default class ImageToolbar extends Plugin {
 		if ( !editor.ui.focusTracker.isFocused ) {
 			this._hideToolbar();
 		} else {
-			if ( isImageWidgetSelected( editor.editing.view.selection ) ) {
+			if ( isImageWidgetSelected( editor.editing.view.document.selection ) ) {
 				this._showToolbar();
 			} else {
 				this._hideToolbar();

+ 7 - 6
packages/ckeditor5-image/tests/image.js

@@ -14,7 +14,7 @@ import ModelRange from '@ckeditor/ckeditor5-engine/src/model/range';
 import global from '@ckeditor/ckeditor5-utils/src/dom/global';
 
 describe( 'Image', () => {
-	let editorElement, model, editor, document, viewDocument;
+	let editorElement, model, view, editor, document, viewDocument;
 
 	beforeEach( () => {
 		editorElement = global.document.createElement( 'div' );
@@ -28,7 +28,8 @@ describe( 'Image', () => {
 				editor = newEditor;
 				model = editor.model;
 				document = model.document;
-				viewDocument = editor.editing.view;
+				view = editor.editing.view;
+				viewDocument = editor.editing.view.document;
 			} );
 	} );
 
@@ -58,7 +59,7 @@ describe( 'Image', () => {
 		it( 'should create fake selection', () => {
 			setModelData( model, '[<image alt="alt text" src="foo.png"></image>]' );
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'[<figure class="ck-widget ck-widget_selected image" contenteditable="false">' +
 					'<img alt="alt text" src="foo.png"></img>' +
 				'</figure>]'
@@ -71,7 +72,7 @@ describe( 'Image', () => {
 		it( 'should create proper fake selection label when alt attribute is empty', () => {
 			setModelData( model, '[<image src="foo.png" alt=""></image>]' );
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'[<figure class="ck-widget ck-widget_selected image" contenteditable="false">' +
 				'<img alt="" src="foo.png"></img>' +
 				'</figure>]'
@@ -87,7 +88,7 @@ describe( 'Image', () => {
 				'<image src="foo.png" alt="alt text"></image>'
 			);
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'[<figure class="ck-widget ck-widget_selected image" contenteditable="false">' +
 				'<img alt="alt text" src="foo.png"></img>' +
 				'</figure>]' +
@@ -101,7 +102,7 @@ describe( 'Image', () => {
 				writer.setSelection( ModelRange.createOn( secondImage ) );
 			} );
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'<figure class="ck-widget image" contenteditable="false">' +
 				'<img alt="alt text" src="foo.png"></img>' +
 				'</figure>' +

+ 13 - 12
packages/ckeditor5-image/tests/image/imageengine.js

@@ -13,7 +13,7 @@ import { isImageWidget } from '../../src/image/utils';
 import normalizeHtml from '@ckeditor/ckeditor5-utils/tests/_utils/normalizehtml';
 
 describe( 'ImageEngine', () => {
-	let editor, model, document, viewDocument;
+	let editor, model, document, view, viewDocument;
 
 	beforeEach( () => {
 		return VirtualTestEditor
@@ -24,7 +24,8 @@ describe( 'ImageEngine', () => {
 				editor = newEditor;
 				model = editor.model;
 				document = model.document;
-				viewDocument = editor.editing.view;
+				view = editor.editing.view;
+				viewDocument = view.document;
 			} );
 	} );
 
@@ -411,7 +412,7 @@ describe( 'ImageEngine', () => {
 			it( 'should convert', () => {
 				setModelData( model, '<image src="foo.png" alt="alt text"></image>' );
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal(
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal(
 					'<figure class="ck-widget image" contenteditable="false"><img alt="alt text" src="foo.png"></img></figure>'
 				);
 			} );
@@ -432,7 +433,7 @@ describe( 'ImageEngine', () => {
 					writer.setAttribute( 'alt', 'new text', image );
 				} );
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal(
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal(
 					'<figure class="ck-widget image" contenteditable="false"><img alt="new text" src="foo.png"></img></figure>'
 				);
 			} );
@@ -445,7 +446,7 @@ describe( 'ImageEngine', () => {
 					writer.removeAttribute( 'alt', image );
 				} );
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) )
+				expect( getViewData( view, { withoutSelection: true } ) )
 					.to.equal( '<figure class="ck-widget image" contenteditable="false"><img src="foo.png"></img></figure>' );
 			} );
 
@@ -461,7 +462,7 @@ describe( 'ImageEngine', () => {
 					writer.removeAttribute( 'alt', image );
 				} );
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal(
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal(
 					'<figure class="ck-widget image" contenteditable="false"><img alt="alt text" src="foo.png"></img></figure>'
 				);
 			} );
@@ -474,7 +475,7 @@ describe( 'ImageEngine', () => {
 						'srcset=\'{ "data":"small.png 148w, big.png 1024w" }\'>' +
 					'</image>' );
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal(
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal(
 					'<figure class="ck-widget image" contenteditable="false">' +
 						'<img alt="alt text" sizes="100vw" src="foo.png" srcset="small.png 148w, big.png 1024w"></img>' +
 					'</figure>'
@@ -494,7 +495,7 @@ describe( 'ImageEngine', () => {
 					writer.removeAttribute( 'srcset', image );
 				} );
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal(
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal(
 					'<figure class="ck-widget image" contenteditable="false">' +
 						'<img alt="alt text" src="foo.png"></img>' +
 					'</figure>'
@@ -509,7 +510,7 @@ describe( 'ImageEngine', () => {
 						'srcset=\'{ "data":"small.png 148w, big.png 1024w", "width":"1024" }\'>' +
 					'</image>' );
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal(
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal(
 					'<figure class="ck-widget image" contenteditable="false">' +
 						'<img alt="alt text" sizes="100vw" src="foo.png" srcset="small.png 148w, big.png 1024w" width="1024"></img>' +
 					'</figure>'
@@ -524,7 +525,7 @@ describe( 'ImageEngine', () => {
 					writer.removeAttribute( 'srcset', image );
 				} );
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal(
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal(
 					'<figure class="ck-widget image" contenteditable="false">' +
 						'<img src="foo.png"></img>' +
 					'</figure>'
@@ -544,7 +545,7 @@ describe( 'ImageEngine', () => {
 					writer.removeAttribute( 'srcset', image );
 				} );
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal(
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal(
 					'<figure class="ck-widget image" contenteditable="false">' +
 					'<img src="foo.png"></img>' +
 					'</figure>'
@@ -566,7 +567,7 @@ describe( 'ImageEngine', () => {
 					'</image>'
 				);
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal(
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal(
 					'<figure class="ck-widget image" contenteditable="false">' +
 						'<img alt="alt text" src="foo.png"></img>' +
 					'</figure>'

+ 2 - 2
packages/ckeditor5-image/tests/image/ui/utils.js

@@ -56,7 +56,7 @@ describe( 'Utils', () => {
 			repositionContextualBalloon( editor );
 
 			sinon.assert.calledWithExactly( spy, {
-				target: editingView.domConverter.viewToDom( editingView.selection.getSelectedElement() ),
+				target: editingView.domConverter.viewToDom( editingView.document.selection.getSelectedElement() ),
 				positions: [
 					defaultPositions.northArrowSouth,
 					defaultPositions.southArrowNorth
@@ -82,7 +82,7 @@ describe( 'Utils', () => {
 			const data = getBalloonPositionData( editor );
 
 			expect( data ).to.deep.equal( {
-				target: editingView.domConverter.viewToDom( editingView.selection.getSelectedElement() ),
+				target: editingView.domConverter.viewToDom( editingView.document.selection.getSelectedElement() ),
 				positions: [
 					defaultPositions.northArrowSouth,
 					defaultPositions.southArrowNorth

+ 22 - 23
packages/ckeditor5-image/tests/imagecaption/imagecaptionengine.js

@@ -12,7 +12,6 @@ import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
 
 import ViewAttributeElement from '@ckeditor/ckeditor5-engine/src/view/attributeelement';
 import ViewPosition from '@ckeditor/ckeditor5-engine/src/view/position';
-import viewWriter from '@ckeditor/ckeditor5-engine/src/view/writer';
 import ModelElement from '@ckeditor/ckeditor5-engine/src/model/element';
 import ModelRange from '@ckeditor/ckeditor5-engine/src/model/range';
 
@@ -23,7 +22,7 @@ import buildViewConverter from '@ckeditor/ckeditor5-engine/src/conversion/buildv
 import buildModelConverter from '@ckeditor/ckeditor5-engine/src/conversion/buildmodelconverter';
 
 describe( 'ImageCaptionEngine', () => {
-	let editor, model, doc, viewDocument;
+	let editor, model, doc, view;
 
 	beforeEach( () => {
 		return VirtualTestEditor
@@ -34,7 +33,7 @@ describe( 'ImageCaptionEngine', () => {
 				editor = newEditor;
 				model = editor.model;
 				doc = model.document;
-				viewDocument = editor.editing.view;
+				view = editor.editing.view;
 				model.schema.register( 'widget' );
 				model.schema.extend( 'widget', { allowIn: '$root' } );
 				model.schema.extend( 'caption', { allowIn: 'widget' } );
@@ -119,7 +118,7 @@ describe( 'ImageCaptionEngine', () => {
 			it( 'should convert caption element to figcaption contenteditable', () => {
 				setModelData( model, '<image src="img.png"><caption>Foo bar baz.</caption></image>' );
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal(
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal(
 					'<figure class="ck-widget image" contenteditable="false">' +
 						'<img src="img.png"></img>' +
 						'<figcaption class="ck-editable" contenteditable="true" data-placeholder="Enter image caption">' +
@@ -132,7 +131,7 @@ describe( 'ImageCaptionEngine', () => {
 			it( 'should convert caption to element with proper CSS class if it\'s empty', () => {
 				setModelData( model, '<paragraph>foo</paragraph><image src="img.png"><caption></caption></image>' );
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal(
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal(
 					'<p>foo</p>' +
 					'<figure class="ck-widget image" contenteditable="false">' +
 						'<img src="img.png"></img>' +
@@ -145,7 +144,7 @@ describe( 'ImageCaptionEngine', () => {
 
 			it( 'should not convert caption from other elements', () => {
 				setModelData( model, '<widget>foo bar<caption></caption></widget>' );
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal( '<widget>foo bar</widget>' );
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal( '<widget>foo bar</widget>' );
 			} );
 
 			it( 'should not convert when element is already consumed', () => {
@@ -159,14 +158,14 @@ describe( 'ImageCaptionEngine', () => {
 
 						const viewPosition = ViewPosition.createAt( imageFigure, 'end' );
 						conversionApi.mapper.bindElements( data.item, viewElement );
-						viewWriter.insert( viewPosition, viewElement );
+						conversionApi.writer.insert( viewPosition, viewElement );
 					},
 					{ priority: 'high' }
 				);
 
 				setModelData( model, '<image src="img.png"><caption>Foo bar baz.</caption></image>' );
 
-				expect( getViewData( viewDocument, { withoutSelection: true } ) ).to.equal(
+				expect( getViewData( view, { withoutSelection: true } ) ).to.equal(
 					'<figure class="ck-widget image" contenteditable="false"><img src="img.png"></img><span></span>Foo bar baz.</figure>'
 				);
 			} );
@@ -181,7 +180,7 @@ describe( 'ImageCaptionEngine', () => {
 					writer.insertText( 'foo bar', caption );
 				} );
 
-				expect( getViewData( viewDocument ) ).to.equal(
+				expect( getViewData( view ) ).to.equal(
 					'<p>{}foo</p>' +
 					'<figure class="ck-widget image" contenteditable="false">' +
 						'<img src="img.png"></img>' +
@@ -202,7 +201,7 @@ describe( 'ImageCaptionEngine', () => {
 					writer.remove( ModelRange.createIn( caption ) );
 				} );
 
-				expect( getViewData( viewDocument ) ).to.equal(
+				expect( getViewData( view ) ).to.equal(
 					'<p>{}foo</p>' +
 					'<figure class="ck-widget image" contenteditable="false">' +
 						'<img src="img.png"></img>' +
@@ -223,7 +222,7 @@ describe( 'ImageCaptionEngine', () => {
 					writer.remove( ModelRange.createFromParentsAndOffsets( caption, 0, caption, 8 ) );
 				} );
 
-				expect( getViewData( viewDocument ) ).to.equal(
+				expect( getViewData( view ) ).to.equal(
 					'<p>{}foo</p>' +
 					'<figure class="ck-widget image" contenteditable="false">' +
 						'<img src="img.png"></img>' +
@@ -244,7 +243,7 @@ describe( 'ImageCaptionEngine', () => {
 				'[<image alt="" src=""><caption></caption></image>]<paragraph></paragraph>'
 			);
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'[<figure class="ck-widget image" contenteditable="false">' +
 					'<img alt="" src=""></img>' +
 					'<figcaption class="ck-editable ck-placeholder" ' +
@@ -267,7 +266,7 @@ describe( 'ImageCaptionEngine', () => {
 				'[<image alt="" src=""><caption>foo bar</caption></image>]<paragraph></paragraph>'
 			);
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'[<figure class="ck-widget image" contenteditable="false">' +
 					'<img alt="" src=""></img>' +
 					'<figcaption class="ck-editable" contenteditable="true" data-placeholder="Enter image caption">' +
@@ -295,7 +294,7 @@ describe( 'ImageCaptionEngine', () => {
 				'[<image alt="" src=""><caption></caption></image>]<paragraph></paragraph>'
 			);
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'[<figure class="ck-widget image" contenteditable="false">' +
 					'<img alt="" src=""></img>' +
 					'<figcaption class="ck-editable ck-placeholder" ' +
@@ -324,7 +323,7 @@ describe( 'ImageCaptionEngine', () => {
 		it( 'image should have empty figcaption element when is selected', () => {
 			setModelData( model, '<paragraph>foo</paragraph>[<image src=""><caption></caption></image>]' );
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'<p>foo</p>' +
 				'[<figure class="ck-widget image" contenteditable="false">' +
 					'<img src=""></img>' +
@@ -337,7 +336,7 @@ describe( 'ImageCaptionEngine', () => {
 		it( 'image should have empty figcaption element with hidden class when not selected', () => {
 			setModelData( model, '<paragraph>[]foo</paragraph><image src=""><caption></caption></image>' );
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'<p>{}foo</p>' +
 				'<figure class="ck-widget image" contenteditable="false">' +
 					'<img src=""></img>' +
@@ -351,7 +350,7 @@ describe( 'ImageCaptionEngine', () => {
 		it( 'should not add additional figcaption if one is already present', () => {
 			setModelData( model, '<paragraph>foo</paragraph>[<image src=""><caption>foo bar</caption></image>]' );
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'<p>foo</p>' +
 				'[<figure class="ck-widget image" contenteditable="false">' +
 					'<img src=""></img>' +
@@ -367,7 +366,7 @@ describe( 'ImageCaptionEngine', () => {
 				writer.setSelection( null );
 			} );
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'<p>{}foo</p>' +
 				'<figure class="ck-widget image" contenteditable="false">' +
 					'<img src=""></img>' +
@@ -385,7 +384,7 @@ describe( 'ImageCaptionEngine', () => {
 				writer.remove( doc.selection.getFirstRange() );
 			} );
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'<figure class="ck-widget image" contenteditable="false">' +
 					'<img src=""></img>' +
 					'<figcaption class="ck-editable ck-placeholder" contenteditable="true" data-placeholder="Enter image caption">' +
@@ -404,7 +403,7 @@ describe( 'ImageCaptionEngine', () => {
 				writer.setSelection( ModelRange.createOn( image ) );
 			} );
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'[<figure class="ck-widget image" contenteditable="false">' +
 					'<img src=""></img>' +
 					'<figcaption class="ck-editable ck-placeholder" ' +
@@ -421,7 +420,7 @@ describe( 'ImageCaptionEngine', () => {
 				writer.setSelection( ModelRange.createOn( image ) );
 			} );
 
-			expect( getViewData( viewDocument ) ).to.equal(
+			expect( getViewData( view ) ).to.equal(
 				'<figure class="ck-widget image" contenteditable="false">' +
 					'<img src=""></img>' +
 					'<figcaption class="ck-editable" contenteditable="true" data-placeholder="Enter image caption">foo bar</figcaption>' +
@@ -449,7 +448,7 @@ describe( 'ImageCaptionEngine', () => {
 				} );
 
 				// Check if there is no figcaption in the view.
-				expect( getViewData( viewDocument ) ).to.equal(
+				expect( getViewData( view ) ).to.equal(
 					'<p>{}foo</p>' +
 					'<figure class="ck-widget image" contenteditable="false">' +
 						'<img src=""></img>' +
@@ -462,7 +461,7 @@ describe( 'ImageCaptionEngine', () => {
 				editor.execute( 'undo' );
 
 				// Check if figcaption is back with contents.
-				expect( getViewData( viewDocument ) ).to.equal(
+				expect( getViewData( view ) ).to.equal(
 					'<p>foo</p>' +
 					'<figure class="ck-widget image" contenteditable="false">' +
 						'<img src=""></img>' +

+ 5 - 4
packages/ckeditor5-image/tests/imagecaption/utils.js

@@ -3,7 +3,7 @@
  * For licensing, see LICENSE.md.
  */
 
-import ViewDocument from '@ckeditor/ckeditor5-engine/src/view/document';
+import View from '@ckeditor/ckeditor5-engine/src/view/view';
 import ViewEditableElement from '@ckeditor/ckeditor5-engine/src/view/editableelement';
 import ViewElement from '@ckeditor/ckeditor5-engine/src/view/element';
 import {
@@ -15,11 +15,12 @@ import {
 import ModelElement from '@ckeditor/ckeditor5-engine/src/model/element';
 
 describe( 'image captioning utils', () => {
-	let element, document;
+	let element, view, document;
 
 	beforeEach( () => {
-		document = new ViewDocument();
-		const creator = captionElementCreator( document, 'placeholder text' );
+		view = new View();
+		document = view.document;
+		const creator = captionElementCreator( view, 'placeholder text' );
 		element = creator();
 	} );
 

+ 5 - 4
packages/ckeditor5-image/tests/imagetextalternative.js

@@ -16,7 +16,7 @@ import { setData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
 import { keyCodes } from '@ckeditor/ckeditor5-utils/src/keyboard';
 
 describe( 'ImageTextAlternative', () => {
-	let editor, editingView, model, doc, plugin, command, form, balloon, editorElement, button;
+	let editor, viewDocument, model, view, doc, plugin, command, form, balloon, editorElement, button;
 
 	beforeEach( () => {
 		editorElement = global.document.createElement( 'div' );
@@ -29,7 +29,8 @@ describe( 'ImageTextAlternative', () => {
 			.then( newEditor => {
 				editor = newEditor;
 				model = editor.model;
-				editingView = editor.editing.view;
+				view = editor.editing.view;
+				viewDocument = view.document;
 				doc = model.document;
 				newEditor.editing.view.attachDomRoot( editorElement );
 				plugin = editor.plugins.get( ImageTextAlternative );
@@ -159,14 +160,14 @@ describe( 'ImageTextAlternative', () => {
 			expect( balloon.visibleView ).to.equal( lastView );
 		} );
 
-		describe( 'integration with the editor selection (#render event)', () => {
+		describe( 'integration with the editor selection (#change event)', () => {
 			it( 'should re-position the form', () => {
 				setData( model, '[<image src=""></image>]' );
 				button.fire( 'execute' );
 
 				const spy = sinon.spy( balloon, 'updatePosition' );
 
-				editingView.fire( 'render' );
+				viewDocument.fire( 'change' );
 				sinon.assert.calledOnce( spy );
 			} );