Sfoglia il codice sorgente

Minor docs and test fixes in view.Writer.

Szymon Kupś 9 anni fa
parent
commit
3a31c74308

+ 4 - 0
packages/ckeditor5-engine/src/view/writer.js

@@ -946,6 +946,10 @@ function validateNodesToInsert( nodes ) {
 }
 
 // Checks if node is ContainerElement or DocumentFragment, because in most cases they should be thread the same way.
+//
+// @private
+// @param {engine.view.Node} node
+// @returns {Boolean} Returns `true` if node is instance of ContainerElement or DocumentFragment.
 function isContainerOrFragment( node ) {
 	return node instanceof ContainerElement || node instanceof DocumentFragment;
 }

+ 4 - 1
packages/ckeditor5-engine/tests/view/writer/breakattributes.js

@@ -9,6 +9,8 @@
 
 import Writer from '/ckeditor5/engine/view/writer.js';
 import DocumentFragment from '/ckeditor5/engine/view/documentfragment.js';
+import AttributeElement from '/ckeditor5/engine/view/attributeelement.js';
+import Text from '/ckeditor5/engine/view/text.js';
 import { stringify, parse } from '/tests/engine/_utils/view.js';
 
 describe( 'Writer', () => {
@@ -24,7 +26,8 @@ describe( 'Writer', () => {
 	function test( input, expected ) {
 		let { view, selection } = parse( input );
 
-		if ( !( view instanceof DocumentFragment ) ) {
+		// Wrap attributes and text into DocumentFragment.
+		if ( view instanceof AttributeElement || view instanceof Text ) {
 			view = new DocumentFragment( view );
 		}
 

+ 3 - 1
packages/ckeditor5-engine/tests/view/writer/breakrange.js

@@ -10,6 +10,8 @@
 import Writer from '/ckeditor5/engine/view/writer.js';
 import DocumentFragment from '/ckeditor5/engine/view/documentfragment.js';
 import ContainerElement from '/ckeditor5/engine/view/containerelement.js';
+import AttributeElement from '/ckeditor5/engine/view/attributeelement.js';
+import Text from '/ckeditor5/engine/view/text.js';
 import Range from '/ckeditor5/engine/view/range.js';
 import { stringify, parse } from '/tests/engine/_utils/view.js';
 
@@ -25,7 +27,7 @@ describe( 'Writer', () => {
 	function test( input, expected ) {
 		let { view, selection } = parse( input );
 
-		if ( !( view instanceof DocumentFragment ) ) {
+		if ( view instanceof AttributeElement || view instanceof Text ) {
 			view = new DocumentFragment( view );
 		}
 

+ 3 - 1
packages/ckeditor5-engine/tests/view/writer/insert.js

@@ -14,6 +14,8 @@ import Element from '/ckeditor5/engine/view/element.js';
 import Position from '/ckeditor5/engine/view/position.js';
 import CKEditorError from '/ckeditor5/utils/ckeditorerror.js';
 import { stringify, parse } from '/tests/engine/_utils/view.js';
+import AttributeElement from '/ckeditor5/engine/view/attributeelement.js';
+import Text from '/ckeditor5/engine/view/text.js';
 
 describe( 'Writer', () => {
 	let writer;
@@ -29,7 +31,7 @@ describe( 'Writer', () => {
 		nodesToInsert = nodesToInsert.map( node => parse( node ) );
 		let { view, selection } = parse( input );
 
-		if ( !( view instanceof DocumentFragment ) ) {
+		if ( view instanceof AttributeElement || view instanceof Text ) {
 			view = new DocumentFragment( view );
 		}
 

+ 3 - 1
packages/ckeditor5-engine/tests/view/writer/remove.js

@@ -12,6 +12,8 @@ import ContainerElement from '/ckeditor5/engine/view/containerelement.js';
 import Range from '/ckeditor5/engine/view/range.js';
 import DocumentFragment from '/ckeditor5/engine/view/documentfragment.js';
 import { stringify, parse } from '/tests/engine/_utils/view.js';
+import AttributeElement from '/ckeditor5/engine/view/attributeelement.js';
+import Text from '/ckeditor5/engine/view/text.js';
 
 describe( 'Writer', () => {
 	let writer;
@@ -27,7 +29,7 @@ describe( 'Writer', () => {
 	function test( input, expectedResult, expectedRemoved ) {
 		let { view, selection } = parse( input );
 
-		if ( !( view instanceof DocumentFragment ) ) {
+		if ( view instanceof AttributeElement || view instanceof Text ) {
 			view = new DocumentFragment( view );
 		}
 

+ 1 - 1
packages/ckeditor5-engine/tests/view/writer/unwrap.js

@@ -31,7 +31,7 @@ describe( 'Writer', () => {
 	function test( input, unwrapAttribute, expected ) {
 		let { view, selection } = parse( input );
 
-		if ( !( view instanceof DocumentFragment ) ) {
+		if ( view instanceof AttributeElement || view instanceof Text ) {
 			view = new DocumentFragment( view );
 		}
 

+ 1 - 1
packages/ckeditor5-engine/tests/view/writer/wrap.js

@@ -31,7 +31,7 @@ describe( 'Writer', () => {
 	function test( input, unwrapAttribute, expected ) {
 		let { view, selection } = parse( input );
 
-		if ( !( view instanceof DocumentFragment ) ) {
+		if ( view instanceof AttributeElement || view instanceof Text ) {
 			view = new DocumentFragment( view );
 		}
 

+ 2 - 1
packages/ckeditor5-engine/tests/view/writer/wrapposition.js

@@ -15,6 +15,7 @@ import DocumentFragment from '/ckeditor5/engine/view/documentfragment.js';
 import Position from '/ckeditor5/engine/view/position.js';
 import CKEditorError from '/ckeditor5/utils/ckeditorerror.js';
 import { stringify, parse } from '/tests/engine/_utils/view.js';
+import AttributeElement from '/ckeditor5/engine/view/attributeelement.js';
 
 describe( 'wrapPosition', () => {
 	let writer;
@@ -29,7 +30,7 @@ describe( 'wrapPosition', () => {
 	function test( input, unwrapAttribute, expected ) {
 		let { view, selection } = parse( input );
 
-		if ( !( view instanceof DocumentFragment ) ) {
+		if ( view instanceof AttributeElement || view instanceof Text ) {
 			view = new DocumentFragment( view );
 		}