Sfoglia il codice sorgente

Added integration test.

Maciej Bukowski 6 anni fa
parent
commit
23d8507193

+ 1 - 1
packages/ckeditor5-engine/src/controller/editingcontroller.js

@@ -78,7 +78,7 @@ export default class EditingController {
 			this.view._renderingDisabled = true;
 		}, { priority: 'highest' } );
 
-		this.listenTo( this.model, '_afterChanges', ( data, { hasModelDocumentChanged } ) => {
+		this.listenTo( this.model, '_afterChanges', ( evt, { hasModelDocumentChanged } ) => {
 			this.view._renderingDisabled = false;
 			if ( hasModelDocumentChanged ) {
 				this.view.render();

+ 34 - 0
packages/ckeditor5-engine/tests/tickets/1653.js

@@ -0,0 +1,34 @@
+/**
+ * @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */
+
+/* globals document */
+
+import ClassicTestEditor from '@ckeditor/ckeditor5-core/tests/_utils/classictesteditor';
+import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
+
+describe( 'Bug ckeditor5-engine#1653', () => {
+	it( '`DataController.parse()` should not invoke `editing.view.render()`', () => {
+		let editor;
+
+		const element = document.createElement( 'div' );
+		document.body.appendChild( element );
+
+		return ClassicTestEditor
+			.create( element, { plugins: [ Paragraph ] } )
+			.then( newEditor => {
+				editor = newEditor;
+
+				const spy = sinon.spy( editor.editing.view, 'render' );
+				const output = editor.data.parse( '<p></p>' );
+
+				sinon.assert.notCalled( spy );
+			} )
+			.then( () => {
+				element.remove();
+
+				return editor.destroy();
+			} );
+	} )
+} );