8
0
Pārlūkot izejas kodu

Small improvement in the converter, additional test.

Piotr Jasiun 10 gadi atpakaļ
vecāks
revīzija
9d82c6486c

+ 5 - 0
packages/ckeditor5-engine/src/treeview/converter.js

@@ -123,6 +123,11 @@ export default class Converter {
 		const previousSibling = domText.previousSibling;
 
 		if ( previousSibling ) {
+			if ( !( previousSibling instanceof HTMLElement ) ) {
+				// The previous is text or comment.
+				return null;
+			}
+
 			const viewElement = this.getCorespondingViewElement( previousSibling );
 
 			if ( viewElement ) {

+ 15 - 0
packages/ckeditor5-engine/tests/treeview/converter.js

@@ -310,6 +310,21 @@ describe( 'converter', () => {
 			expect( converter.getCorespondingViewText( domText ) ).to.be.null;
 		} );
 
+		it( 'should return null if sibling is not element', () => {
+			const domTextFoo = document.createTextNode( 'foo' );
+			const domTextBar = document.createTextNode( 'bar' );
+			const domP = document.createElement( 'p' );
+
+			domP.appendChild( domTextFoo );
+			domP.appendChild( domTextBar );
+
+			const viewP = converter.domToView( domP );
+
+			converter.bindElements( domP, viewP );
+
+			expect( converter.getCorespondingViewText( domTextBar ) ).to.be.null;
+		} );
+
 		it( 'should return null if parent is not binded', () => {
 			const domText = document.createTextNode( 'foo' );
 			const domP = document.createElement( 'p' );