8
0
Просмотр исходного кода

Converters docs. Fixed typo: getCoresponding* -> getCorresponding. Fixed typos: Get -> Gets.

Piotr Jasiun 10 лет назад
Родитель
Сommit
706a2f3dc5

+ 167 - 36
packages/ckeditor5-engine/src/treeview/converter.js

@@ -8,24 +8,73 @@
 import ViewText from './text.js';
 import ViewElement from './element.js';
 
-// Converter is a class in the future it may take a configuration in the constructor (e.g. what should be inserted into empty elements).
+/**
+ * Converter is a set of tools to do transformations between DOM nodes and view nodes. It also handle
+ * {@link #bindElements binding} these nodes.
+ *
+ * Converter does not check which nodes should be rendered (use {@link treeView.Renderer}), does not keep a state of
+ * a tree nor keep synchronization between tree view and DOM tree (use {@treeView.TreeView}).
+ *
+ * Converter keep DOM elements - View element binding, so when the converter will be destroyed, the binding will be
+ * lost. Two converters will use separate bindings, so one tree view can be binded with two DOM trees.
+ *
+ * In the future converter may take a configuration in the constructor (e.g. what should be inserted into an empty
+ * elements).
+ *
+ * @class treeView.Converter
+ */
 export default class Converter {
+	/**
+	 * Creates converter.
+	 *
+	 * @constructor
+	 */
 	constructor() {
-		// Note that using WeakMap prevent memory leaks: when the coverter will be destroyed
-		// all referenced between View and DOM will be removed.
+		// Using WeakMap prevent memory leaks: when the converter will be destroyed all referenced between View and DOM
+		// will be removed. Also because it is a *Weak*Map when both view and DOM elements will be removed referenced
+		// will be also removed, isn't it brilliant?
+
+		/**
+		 * DOM to View mapping.
+		 *
+		 * @private
+		 * @type {WeakMap}
+		 */
 		this._domToViewMapping = new WeakMap();
+
+		/**
+		 * View to DOM mapping.
+		 *
+		 * @private
+		 * @type {WeakMap}
+		 */
 		this._viewToDomMapping = new WeakMap();
 	}
 
+	/**
+	 * Bind DOM and View elements, so it will be possible to get corresponding elements using
+	 * {@link treeView.Converter#getCorrespondingViewElement} and {@link treeView.Converter#getCorespondingDOMElement}.
+	 *
+	 * @param {HTMLElement} domElement DOM element to bind.
+	 * @param {treeView.Element} viewElement View element to bind.
+	 */
 	bindElements( domElement, viewElement ) {
 		this._domToViewMapping.set( domElement, viewElement );
 		this._viewToDomMapping.set( viewElement, domElement );
 	}
 
+	/**
+	 * Compare DOM and View nodes. Elements are same when they are binded. Text nodes are same when they have the same
+	 * text data. Nodes need to have corresponding types. In all other cases nodes are different.
+	 *
+	 * @param {Node} domNode DOM node to compare.
+	 * @param {treeView.Node} viewNode View node to compare.
+	 * @returns {Boolean} True if nodes are same.
+	 */
 	compareNodes( domNode, viewNode ) {
 		// Elements.
 		if ( domNode instanceof HTMLElement && viewNode instanceof ViewElement ) {
-			return domNode === this.getCorespondingDomElement( viewNode );
+			return domNode === this.getCorrespondingDomElement( viewNode );
 		}
 		// Texts.
 		else if ( domNode instanceof Text && viewNode instanceof ViewText ) {
@@ -36,7 +85,17 @@ export default class Converter {
 		return false;
 	}
 
-	// bind: false, withChildren: true
+	/**
+	 * Convert view to DOM. For all text nodes and not binded elements new elements will be created. For binded
+	 * elements function will return corresponding elements.
+	 *
+	 * @param {treeView.Node} viewNode View node to transform.
+	 * @param {document} domDocument Document which will be used to create DOM nodes.
+	 * @param {Object} [options] Conversion options.
+	 * @param {Boolean} [options.bind=false] Determines whether new elements will be binded.
+	 * @param {Boolean} [options.withChildren=true] If true node's children will be converter too.
+	 * @returns {Node} Converted node.
+	 */
 	viewToDom( viewNode, domDocument, options ) {
 		if ( !options ) {
 			options = {};
@@ -45,8 +104,8 @@ export default class Converter {
 		if ( viewNode instanceof ViewText ) {
 			return domDocument.createTextNode( viewNode.getText() );
 		} else {
-			if ( this.getCorespondingDom( viewNode ) ) {
-				return this.getCorespondingDom( viewNode );
+			if ( this.getCorrespondingDom( viewNode ) ) {
+				return this.getCorrespondingDom( viewNode );
 			}
 
 			const domElement = domDocument.createElement( viewNode.name );
@@ -69,34 +128,43 @@ export default class Converter {
 		}
 	}
 
-	// bind: false, withChildren: true
-	domToView( domElement, options ) {
+	/**
+	 * Convert DOM to view. For all text nodes and not binded elements new elements will be created. For binded
+	 * elements function will return corresponding elements.
+	 *
+	 * @param {Node} domNode DOM node to transform.
+	 * @param {Object} [options] Conversion options.
+	 * @param {Boolean} [options.bind=false] Determines whether new elements will be binded.
+	 * @param {Boolean} [options.withChildren=true] It true node's children will be converter too.
+	 * @returns {treeView.Node} Converted node.
+	 */
+	domToView( domNode, options ) {
 		if ( !options ) {
 			options = {};
 		}
 
-		if ( domElement instanceof Text ) {
-			return new ViewText( domElement.data );
+		if ( domNode instanceof Text ) {
+			return new ViewText( domNode.data );
 		} else {
-			if ( this.getCorespondingView( domElement ) ) {
-				return this.getCorespondingView( domElement );
+			if ( this.getCorrespondingView( domNode ) ) {
+				return this.getCorrespondingView( domNode );
 			}
 
-			const viewElement = new ViewElement( domElement.tagName.toLowerCase() );
+			const viewElement = new ViewElement( domNode.tagName.toLowerCase() );
 
 			if ( options.bind ) {
-				this.bindElements( domElement, viewElement );
+				this.bindElements( domNode, viewElement );
 			}
 
-			const attrs = domElement.attributes;
+			const attrs = domNode.attributes;
 
 			for ( let i = attrs.length - 1; i >= 0; i-- ) {
 				viewElement.setAttribute( attrs[ i ].name, attrs[ i ].value );
 			}
 
 			if ( options.withChildren || options.withChildren === undefined ) {
-				for ( let i = 0, len = domElement.childNodes.length; i < len; i++ ) {
-					let domChild = domElement.childNodes[ i ];
+				for ( let i = 0, len = domNode.childNodes.length; i < len; i++ ) {
+					let domChild = domNode.childNodes[ i ];
 
 					viewElement.appendChildren( this.domToView( domChild, options ) );
 				}
@@ -106,35 +174,67 @@ export default class Converter {
 		}
 	}
 
-	getCorespondingView( domNode ) {
+	/**
+	 * Gets corresponding view node. This function use {@link #getCorrespondingViewElement} for elements and
+	 * {@link getCorrespondingViewText} for text nodes.
+	 *
+	 * @param {Node} domNode DOM node.
+	 * @returns {treeView.Node|Null} Corresponding node.
+	 */
+	getCorrespondingView( domNode ) {
 		if ( domNode instanceof HTMLElement ) {
-			return this.getCorespondingViewElement( domNode );
+			return this.getCorrespondingViewElement( domNode );
 		} else {
-			return this.getCorespondingViewText( domNode );
+			return this.getCorrespondingViewText( domNode );
 		}
 	}
 
-	// Coresponding elements exists only for rendered elementes.
-	getCorespondingViewElement( domElement ) {
+	/**
+	 * Gets corresponding view element. Returns element if an view element was {@link #bindElements binded} to the given
+	 * DOM element or null otherwise.
+	 *
+	 * @param {HTMLElement} domElement DOM element.
+	 * @returns {treeView.Element|Null} Corresponding element or null if none element was binded.
+	 */
+	getCorrespondingViewElement( domElement ) {
 		return this._domToViewMapping.get( domElement );
 	}
 
-	getCorespondingViewText( domText ) {
+	/**
+	 * Gets corresponding text node. Text nodes are not {@link #bindElements binded}, corresponding text node is
+	 * returned based on the sibling or parent.
+	 *
+	 * If the directly previous sibling is a {@link #bindElements binded} element, it is used to find the corresponding
+	 * text node.
+	 *
+	 * If this is a first child in the parent and the parent is a {@link #bindElements binded} element, it is used to
+	 * find the corresponding text node.
+	 *
+	 * Otherwise null is returned.
+	 *
+	 * @param {Text} domText DOM text node.
+	 * @returns {treeView.Text|Null} Corresponding view text node or null, if it was not possible to find a
+	 * corresponding node.
+	 */
+	getCorrespondingViewText( domText ) {
 		const previousSibling = domText.previousSibling;
 
+		// Try to use previous sibling to find the corresponding text node.
 		if ( previousSibling ) {
 			if ( !( previousSibling instanceof HTMLElement ) ) {
 				// The previous is text or comment.
 				return null;
 			}
 
-			const viewElement = this.getCorespondingViewElement( previousSibling );
+			const viewElement = this.getCorrespondingViewElement( previousSibling );
 
 			if ( viewElement ) {
 				return viewElement.getNextSibling();
 			}
-		} else {
-			const viewElement = this.getCorespondingViewElement( domText.parentElement );
+		}
+		// Try to use parent to find the corresponding text node.
+		else {
+			const viewElement = this.getCorrespondingViewElement( domText.parentElement );
 
 			if ( viewElement ) {
 				return viewElement.getChild( 0 );
@@ -144,27 +244,58 @@ export default class Converter {
 		return null;
 	}
 
-	getCorespondingDom( viewNode ) {
+	/**
+	 * Gets corresponding DOM node. This function uses {@link #getCorrespondingDomElement} for elements and
+	 * {@link #getCorrespondingDomText} for text nodes.
+	 *
+	 * @param {treeView.Node} viewNode View node.
+	 * @returns {Node|Null} Corresponding DOM node.
+	 */
+	getCorrespondingDom( viewNode ) {
 		if ( viewNode instanceof ViewElement ) {
-			return this.getCorespondingDomElement( viewNode );
+			return this.getCorrespondingDomElement( viewNode );
 		} else {
-			return this.getCorespondingDomText( viewNode );
+			return this.getCorrespondingDomText( viewNode );
 		}
 	}
 
-	getCorespondingDomElement( viewElement ) {
+	/**
+	 * Gets corresponding DOM element. Returns element if an DOM element was {@link #bindElements binded} to the given
+	 * view element or null otherwise.
+	 *
+	 * @param {treeView.Element} viewElement View element.
+	 * @returns {HTMLElement|Null} Corresponding element or null if none element was binded.
+	 */
+	getCorrespondingDomElement( viewElement ) {
 		return this._viewToDomMapping.get( viewElement );
 	}
 
-	getCorespondingDomText( viewText ) {
+	/**
+	 * Gets corresponding text node. Text nodes are not {@link #bindElements binded}, corresponding text node is
+	 * returned based on the sibling or parent.
+	 *
+	 * If the directly previous sibling is a {@link #bindElements binded} element, it is used to find the corresponding
+	 * text node.
+	 *
+	 * If this is a first child in the parent and the parent is a {@link #bindElements binded} element, it is used to
+	 * find the corresponding text node.
+	 *
+	 * Otherwise null is returned.
+	 *
+	 * @param {treeView.Text} viewText View text node.
+	 * @returns {Text|Null} Corresponding DOM text node or null, if it was not possible to find a corresponding node.
+	 */
+	getCorrespondingDomText( viewText ) {
 		const previousSibling = viewText.getPreviousSibling();
 
-		if ( previousSibling && this.getCorespondingDom( previousSibling ) ) {
-			return this.getCorespondingDom( previousSibling ).nextSibling;
+		// Try to use previous sibling to find the corresponding text node.
+		if ( previousSibling && this.getCorrespondingDom( previousSibling ) ) {
+			return this.getCorrespondingDom( previousSibling ).nextSibling;
 		}
 
-		if ( !previousSibling && this.getCorespondingDom( viewText.parent ) ) {
-			return this.getCorespondingDom( viewText.parent ).childNodes[ 0 ];
+		// Try to use parent to find the corresponding text node.
+		if ( !previousSibling && this.getCorrespondingDom( viewText.parent ) ) {
+			return this.getCorrespondingDom( viewText.parent ).childNodes[ 0 ];
 		}
 
 		return null;

+ 2 - 2
packages/ckeditor5-engine/src/treeview/element.js

@@ -107,7 +107,7 @@ export default class Element extends Node {
 	}
 
 	/**
-	 * Get child nodes iterator.
+	 * Gets child nodes iterator.
 	 *
 	 * @returns {Iterable.<treeView.Node>} Child nodes iterator.
 	 */
@@ -125,7 +125,7 @@ export default class Element extends Node {
 	}
 
 	/**
-	 * Get attribute by key.
+	 * Gets attribute by key.
 	 *
 	 * @param {String} key Attribute key.
 	 * @returns {String} Attribute value.

+ 1 - 1
packages/ckeditor5-engine/src/treeview/node.js

@@ -91,7 +91,7 @@ export default class Node {
 	}
 
 	/**
-	 * Get {@link treeView.TreeView} reference. If the node has {@link treeView.TreeView}, assign by
+	 * Gets {@link treeView.TreeView} reference. If the node has {@link treeView.TreeView}, assign by
 	 * {@link treeView.Node#setTreeView} it will be returned. Otherwise {@link treeView.TreeView} of the parents node
 	 * will be returned. If node has no parent, `null` will be returned.
 	 *

+ 3 - 3
packages/ckeditor5-engine/src/treeview/observer/mutationobserver.js

@@ -108,7 +108,7 @@ export default class MutationObserver extends Observer {
 		// element with changed structure anyway.
 		for ( let mutation of domMutations ) {
 			if ( mutation.type === 'childList' ) {
-				const element = this.converter.getCorespondingViewElement( mutation.target );
+				const element = this.converter.getCorrespondingViewElement( mutation.target );
 
 				if ( element ) {
 					mutatedElements.add( element );
@@ -119,7 +119,7 @@ export default class MutationObserver extends Observer {
 		// Handle `characterData` mutations later, when we have the full list of nodes which changed structure.
 		for ( let mutation of domMutations ) {
 			if ( mutation.type === 'characterData' ) {
-				const text = this.converter.getCorespondingViewText( mutation.target );
+				const text = this.converter.getCorrespondingViewText( mutation.target );
 
 				if ( text && !mutatedElements.has( text.parent ) ) {
 					// Use text as a key, for deduplication. If there will be another mutation on the same text element
@@ -147,7 +147,7 @@ export default class MutationObserver extends Observer {
 		}
 
 		for ( let viewElement of mutatedElements ) {
-			const domElement = this.converter.getCorespondingDomElement( viewElement );
+			const domElement = this.converter.getCorrespondingDomElement( viewElement );
 			const domChildren = domElement.childNodes;
 			const viewChildren = viewElement.getChildren();
 			const newViewChildren = [];

+ 6 - 6
packages/ckeditor5-engine/src/treeview/renderer.js

@@ -19,12 +19,12 @@ export default class Renderer {
 
 	markToSync( type, node ) {
 		if ( type === 'TEXT' ) {
-			if ( this.converter.getCorespondingDom( node.parent ) ) {
+			if ( this.converter.getCorrespondingDom( node.parent ) ) {
 				this.markedTexts.add( node );
 			}
 		} else {
 			// If the node has no DOM element it is not rendered yet, its children/attributes do not need to be marked to be sync.
-			if ( !this.converter.getCorespondingDom( node ) ) {
+			if ( !this.converter.getCorrespondingDom( node ) ) {
 				return;
 			}
 
@@ -47,7 +47,7 @@ export default class Renderer {
 		const converter = this.converter;
 
 		for ( let node of this.markedTexts ) {
-			if ( !this.markedChildren.has( node.parent ) && converter.getCorespondingDom( node.parent ) ) {
+			if ( !this.markedChildren.has( node.parent ) && converter.getCorrespondingDom( node.parent ) ) {
 				updateText( node );
 			}
 		}
@@ -65,7 +65,7 @@ export default class Renderer {
 		this.markedChildren.clear();
 
 		function updateText( viewText ) {
-			const domText = converter.getCorespondingDom( viewText );
+			const domText = converter.getCorrespondingDom( viewText );
 
 			if ( domText.data != viewText.getText() ) {
 				domText.data = viewText.getText();
@@ -73,7 +73,7 @@ export default class Renderer {
 		}
 
 		function updateAttrs( viewElement ) {
-			const domElement = converter.getCorespondingDom( viewElement );
+			const domElement = converter.getCorrespondingDom( viewElement );
 			const domAttrKeys = Array.from( domElement.attributes ).map( attr => attr.name );
 			const viewAttrKeys = viewElement.getAttributeKeys();
 
@@ -91,7 +91,7 @@ export default class Renderer {
 		}
 
 		function updateChildren( viewElement ) {
-			const domElement = converter.getCorespondingDom( viewElement );
+			const domElement = converter.getCorrespondingDom( viewElement );
 			const domChildren = domElement.childNodes;
 			const viewChildren = Array.from( viewElement.getChildren() );
 			const domDocument = domElement.ownerDocument;

+ 1 - 1
packages/ckeditor5-engine/src/treeview/text.js

@@ -32,7 +32,7 @@ export default class Text extends Node {
 	}
 
 	/**
-	 * Get text data.
+	 * Gets text data.
 	 *
 	 * @returns {String} Text data.
 	 */

+ 33 - 33
packages/ckeditor5-engine/tests/treeview/converter.js

@@ -28,8 +28,8 @@ describe( 'converter', () => {
 
 			converter.bindElements( domElement, viewElement );
 
-			expect( converter.getCorespondingView( domElement ) ).to.equal( viewElement );
-			expect( converter.getCorespondingDom( viewElement ) ).to.equal( domElement );
+			expect( converter.getCorrespondingView( domElement ) ).to.equal( viewElement );
+			expect( converter.getCorrespondingDom( viewElement ) ).to.equal( domElement );
 		} );
 	} );
 
@@ -85,8 +85,8 @@ describe( 'converter', () => {
 			expect( viewP.getChild( 0 ).name ).to.equal( 'img' );
 			expect( viewP.getChild( 1 ).getText() ).to.equal( 'foo' );
 
-			expect( converter.getCorespondingDom( viewP ) ).to.not.equal( domP );
-			expect( converter.getCorespondingDom( viewP.getChild( 0 ) ) ).to.equal( domImg );
+			expect( converter.getCorrespondingDom( viewP ) ).to.not.equal( domP );
+			expect( converter.getCorrespondingDom( viewP.getChild( 0 ) ) ).to.equal( domImg );
 		} );
 
 		it( 'should create tree of view elements from DOM elements and bind elements', () => {
@@ -111,8 +111,8 @@ describe( 'converter', () => {
 			expect( viewP.getChild( 0 ).name ).to.equal( 'img' );
 			expect( viewP.getChild( 1 ).getText() ).to.equal( 'foo' );
 
-			expect( converter.getCorespondingDom( viewP ) ).to.equal( domP );
-			expect( converter.getCorespondingDom( viewP.getChild( 0 ) ) ).to.equal( domP.childNodes[ 0 ] );
+			expect( converter.getCorrespondingDom( viewP ) ).to.equal( domP );
+			expect( converter.getCorrespondingDom( viewP.getChild( 0 ) ) ).to.equal( domP.childNodes[ 0 ] );
 		} );
 
 		it( 'should create tree of view elements from DOM element without children', () => {
@@ -138,7 +138,7 @@ describe( 'converter', () => {
 			expect( getIteratorCount( viewP.getAttributeKeys() ) ).to.equal( 1 );
 
 			expect( viewP.getChildCount() ).to.equal( 0 );
-			expect( converter.getCorespondingDom( viewP ) ).to.not.equal( domP );
+			expect( converter.getCorrespondingDom( viewP ) ).to.not.equal( domP );
 		} );
 	} );
 
@@ -169,8 +169,8 @@ describe( 'converter', () => {
 			expect( domP.childNodes[ 0 ].tagName.toLowerCase() ).to.equal( 'img' );
 			expect( domP.childNodes[ 1 ].data ).to.equal( 'foo' );
 
-			expect( converter.getCorespondingView( domP ) ).not.to.equal( viewP );
-			expect( converter.getCorespondingView( domP.childNodes[ 0 ] ) ).to.equal( viewImg );
+			expect( converter.getCorrespondingView( domP ) ).not.to.equal( viewP );
+			expect( converter.getCorrespondingView( domP.childNodes[ 0 ] ) ).to.equal( viewImg );
 		} );
 
 		it( 'should create tree of DOM elements from view elements and bind elements', () => {
@@ -195,8 +195,8 @@ describe( 'converter', () => {
 			expect( domP.childNodes[ 0 ].tagName.toLowerCase() ).to.equal( 'img' );
 			expect( domP.childNodes[ 1 ].data ).to.equal( 'foo' );
 
-			expect( converter.getCorespondingView( domP ) ).to.equal( viewP );
-			expect( converter.getCorespondingView( domP.childNodes[ 0 ] ) ).to.equal( viewP.getChild( 0 ) );
+			expect( converter.getCorrespondingView( domP ) ).to.equal( viewP );
+			expect( converter.getCorrespondingView( domP.childNodes[ 0 ] ) ).to.equal( viewP.getChild( 0 ) );
 		} );
 
 		it( 'should create tree of DOM elements from view element without children', () => {
@@ -222,18 +222,18 @@ describe( 'converter', () => {
 			expect( domP.attributes.length ).to.equal( 1 );
 
 			expect( domP.childNodes.length ).to.equal( 0 );
-			expect( converter.getCorespondingView( domP ) ).not.to.equal( viewP );
+			expect( converter.getCorrespondingView( domP ) ).not.to.equal( viewP );
 		} );
 	} );
 
-	describe( 'getCorespondingView', () => {
+	describe( 'getCorrespondingView', () => {
 		it( 'should return coresponding view element if element is passed', () => {
 			const domElement = document.createElement( 'p' );
 			const viewElement = new ViewElement( 'p' );
 
 			converter.bindElements( domElement, viewElement );
 
-			expect( converter.getCorespondingView( domElement ) ).to.equal( viewElement );
+			expect( converter.getCorrespondingView( domElement ) ).to.equal( viewElement );
 		} );
 
 		it( 'should return coresponding view text if text is passed', () => {
@@ -247,22 +247,22 @@ describe( 'converter', () => {
 
 			converter.bindElements( domP, viewP );
 
-			expect( converter.getCorespondingView( domText ) ).to.equal( viewText );
+			expect( converter.getCorrespondingView( domText ) ).to.equal( viewText );
 		} );
 	} );
 
-	describe( 'getCorespondingViewElement', () => {
+	describe( 'getCorrespondingViewElement', () => {
 		it( 'should return coresponding view element', () => {
 			const domElement = document.createElement( 'p' );
 			const viewElement = new ViewElement( 'p' );
 
 			converter.bindElements( domElement, viewElement );
 
-			expect( converter.getCorespondingViewElement( domElement ) ).to.equal( viewElement );
+			expect( converter.getCorrespondingViewElement( domElement ) ).to.equal( viewElement );
 		} );
 	} );
 
-	describe( 'getCorespondingViewText', () => {
+	describe( 'getCorrespondingViewText', () => {
 		it( 'should return coresponding view text based on sibling', () => {
 			const domImg = document.createElement( 'img' );
 			const domText = document.createTextNode( 'foo' );
@@ -278,7 +278,7 @@ describe( 'converter', () => {
 			const viewP = converter.domToView( domP );
 			const viewText = viewP.getChild( 1 );
 
-			expect( converter.getCorespondingViewText( domText ) ).to.equal( viewText );
+			expect( converter.getCorrespondingViewText( domText ) ).to.equal( viewText );
 		} );
 
 		it( 'should return coresponding view text based on parent', () => {
@@ -292,7 +292,7 @@ describe( 'converter', () => {
 
 			converter.bindElements( domP, viewP );
 
-			expect( converter.getCorespondingViewText( domText ) ).to.equal( viewText );
+			expect( converter.getCorrespondingViewText( domText ) ).to.equal( viewText );
 		} );
 
 		it( 'should return null if sibling is not binded', () => {
@@ -307,7 +307,7 @@ describe( 'converter', () => {
 
 			converter.bindElements( domP, viewP );
 
-			expect( converter.getCorespondingViewText( domText ) ).to.be.null;
+			expect( converter.getCorrespondingViewText( domText ) ).to.be.null;
 		} );
 
 		it( 'should return null if sibling is not element', () => {
@@ -322,7 +322,7 @@ describe( 'converter', () => {
 
 			converter.bindElements( domP, viewP );
 
-			expect( converter.getCorespondingViewText( domTextBar ) ).to.be.null;
+			expect( converter.getCorrespondingViewText( domTextBar ) ).to.be.null;
 		} );
 
 		it( 'should return null if parent is not binded', () => {
@@ -331,18 +331,18 @@ describe( 'converter', () => {
 
 			domP.appendChild( domText );
 
-			expect( converter.getCorespondingViewText( domText ) ).to.be.null;
+			expect( converter.getCorrespondingViewText( domText ) ).to.be.null;
 		} );
 	} );
 
-	describe( 'getCorespondingDom', () => {
+	describe( 'getCorrespondingDom', () => {
 		it( 'should return coresponding DOM element if element was passed', () => {
 			const domElement = document.createElement( 'p' );
 			const viewElement = new ViewElement( 'p' );
 
 			converter.bindElements( domElement, viewElement );
 
-			expect( converter.getCorespondingDom( viewElement ) ).to.equal( domElement );
+			expect( converter.getCorrespondingDom( viewElement ) ).to.equal( domElement );
 		} );
 
 		it( 'should return coresponding DOM text if text was passed', () => {
@@ -356,22 +356,22 @@ describe( 'converter', () => {
 
 			converter.bindElements( domP, viewP );
 
-			expect( converter.getCorespondingDom( viewText ) ).to.equal( domText );
+			expect( converter.getCorrespondingDom( viewText ) ).to.equal( domText );
 		} );
 	} );
 
-	describe( 'getCorespondingDomElement', () => {
+	describe( 'getCorrespondingDomElement', () => {
 		it( 'should return coresponding DOM element', () => {
 			const domElement = document.createElement( 'p' );
 			const viewElement = new ViewElement( 'p' );
 
 			converter.bindElements( domElement, viewElement );
 
-			expect( converter.getCorespondingDomElement( viewElement ) ).to.equal( domElement );
+			expect( converter.getCorrespondingDomElement( viewElement ) ).to.equal( domElement );
 		} );
 	} );
 
-	describe( 'getCorespondingDomText', () => {
+	describe( 'getCorrespondingDomText', () => {
 		it( 'should return coresponding DOM text based on sibling', () => {
 			const domImg = document.createElement( 'img' );
 			const domText = document.createTextNode( 'foo' );
@@ -387,7 +387,7 @@ describe( 'converter', () => {
 			const viewP = converter.domToView( domP );
 			const viewText = viewP.getChild( 1 );
 
-			expect( converter.getCorespondingDomText( viewText ) ).to.equal( domText );
+			expect( converter.getCorrespondingDomText( viewText ) ).to.equal( domText );
 		} );
 
 		it( 'should return coresponding DOM text based on parent', () => {
@@ -401,7 +401,7 @@ describe( 'converter', () => {
 
 			converter.bindElements( domP, viewP );
 
-			expect( converter.getCorespondingDomText( viewText ) ).to.equal( domText );
+			expect( converter.getCorrespondingDomText( viewText ) ).to.equal( domText );
 		} );
 
 		it( 'should return null if sibling is not binded', () => {
@@ -417,7 +417,7 @@ describe( 'converter', () => {
 
 			converter.bindElements( domP, viewP );
 
-			expect( converter.getCorespondingDomText( viewText ) ).to.be.null;
+			expect( converter.getCorrespondingDomText( viewText ) ).to.be.null;
 		} );
 
 		it( 'should return null if parent is not binded', () => {
@@ -429,7 +429,7 @@ describe( 'converter', () => {
 			const viewP = converter.domToView( domP );
 			const viewText = viewP.getChild( 0 );
 
-			expect( converter.getCorespondingDomText( viewText ) ).to.be.null;
+			expect( converter.getCorrespondingDomText( viewText ) ).to.be.null;
 		} );
 	} );
 } );

+ 1 - 1
packages/ckeditor5-engine/tests/treeview/treeview.js

@@ -28,7 +28,7 @@ describe( 'TreeView', () => {
 			expect( treeView ).to.have.property( 'converter' ).that.is.instanceOf( Converter );
 			expect( treeView ).to.have.property( 'viewRoot' );
 
-			expect( treeView.converter.getCorespondingDom( treeView.viewRoot ) ).to.equal( domDiv );
+			expect( treeView.converter.getCorrespondingDom( treeView.viewRoot ) ).to.equal( domDiv );
 			expect( treeView.viewRoot.name ).to.equal( 'div' );
 			expect( treeView.viewRoot.getAttribute( 'id' ) ).to.equal( 'editor' );
 			expect( treeView.renderer.markedChildren.has( treeView.viewRoot ) ).to.be.true;