Преглед на файлове

Changed tests using UIElement to use new rendering method.

Szymon Kupś преди 7 години
родител
ревизия
c5ad393603

+ 2 - 2
packages/ckeditor5-engine/src/view/uielement.js

@@ -73,7 +73,7 @@ export default class UIElement extends Element {
 	 * @return {HTMLElement}
 	 */
 	render( domDocument ) {
-		return this.createDomElement( domDocument );
+		return this.toDomElement( domDocument );
 	}
 
 	/**
@@ -83,7 +83,7 @@ export default class UIElement extends Element {
 	 * @param {Document} domDocument
 	 * @returns {HTMLElement}
 	 */
-	createDomElement( domDocument ) {
+	toDomElement( domDocument ) {
 		const domElement = domDocument.createElement( this.name );
 
 		for ( const key of this.getAttributeKeys() ) {

+ 12 - 11
packages/ckeditor5-engine/tests/view/document/jumpoveruielement.js

@@ -20,13 +20,17 @@ import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
 describe( 'Document', () => {
 	let viewDocument, domRoot, domSelection, viewRoot, foo, bar, ui, ui2;
 
-	class MyUIElement extends UIElement {
-		render( domDocument ) {
-			const element = super.render( domDocument );
-			element.innerText = this.contents;
+	function createUIElement( name, contents ) {
+		const element = new UIElement( name );
 
-			return element;
-		}
+		element.render = function( domDocument ) {
+			const domElement = this.toDomElement( domDocument );
+			domElement.innerText = contents;
+
+			return domElement;
+		};
+
+		return element;
 	}
 
 	beforeEach( () => {
@@ -46,11 +50,8 @@ describe( 'Document', () => {
 
 		foo = new ViewText( 'foo' );
 		bar = new ViewText( 'bar' );
-		ui = new MyUIElement( 'span' );
-		ui.contents = 'xxx';
-
-		ui2 = new MyUIElement( 'span' );
-		ui2.contents = 'yyy';
+		ui = createUIElement( 'span', 'xxx' );
+		ui2 = createUIElement( 'span', 'yyy' );
 	} );
 
 	afterEach( () => {

+ 18 - 14
packages/ckeditor5-engine/tests/view/domconverter/uielement.js

@@ -12,13 +12,17 @@ import DomConverter from '../../../src/view/domconverter';
 describe( 'DOMConverter UIElement integration', () => {
 	let converter;
 
-	class MyUIElement extends ViewUIElement {
-		render( domDocument ) {
-			const root = super.render( domDocument );
+	function createUIElement( name ) {
+		const element = new ViewUIElement( name );
+
+		element.render = function( domDocument ) {
+			const root = this.toDomElement( domDocument );
 			root.innerHTML = '<p><span>foo</span> bar</p>';
 
 			return root;
-		}
+		};
+
+		return element;
 	}
 
 	beforeEach( () => {
@@ -34,7 +38,7 @@ describe( 'DOMConverter UIElement integration', () => {
 		} );
 
 		it( 'should create DOM structure from UIElement', () => {
-			const myElement = new MyUIElement( 'div' );
+			const myElement = createUIElement( 'div' );
 			const domElement = converter.viewToDom( myElement, document );
 
 			expect( domElement ).to.be.instanceOf( HTMLElement );
@@ -42,7 +46,7 @@ describe( 'DOMConverter UIElement integration', () => {
 		} );
 
 		it( 'should create DOM structure that all is mapped to single UIElement', () => {
-			const myElement = new MyUIElement( 'div' );
+			const myElement = createUIElement( 'div' );
 			const domElement = converter.viewToDom( myElement, document, { bind: true } );
 			const domParagraph = domElement.childNodes[ 0 ];
 
@@ -54,14 +58,14 @@ describe( 'DOMConverter UIElement integration', () => {
 
 	describe( 'domToView()', () => {
 		it( 'should return UIElement itself', () => {
-			const uiElement = new MyUIElement( 'div' );
+			const uiElement = createUIElement( 'div' );
 			const domElement = converter.viewToDom( uiElement, document, { bind: true } );
 
 			expect( converter.domToView( domElement ) ).to.equal( uiElement );
 		} );
 
 		it( 'should return UIElement for nodes inside', () => {
-			const uiElement = new MyUIElement( 'div' );
+			const uiElement = createUIElement( 'div' );
 			const domElement = converter.viewToDom( uiElement, document, { bind: true } );
 
 			const domParagraph = domElement.childNodes[ 0 ];
@@ -76,7 +80,7 @@ describe( 'DOMConverter UIElement integration', () => {
 
 	describe( 'domPositionToView()', () => {
 		it( 'should convert position inside UIElement to position before it', () => {
-			const uiElement = new MyUIElement( 'h1' );
+			const uiElement = createUIElement( 'h1' );
 			const container = new ViewContainer( 'div', null, [ new ViewContainer( 'div' ), uiElement ] );
 			const domContainer = converter.viewToDom( container, document, { bind: true } );
 
@@ -87,7 +91,7 @@ describe( 'DOMConverter UIElement integration', () => {
 		} );
 
 		it( 'should convert position inside UIElement children to position before UIElement', () => {
-			const uiElement = new MyUIElement( 'h1' );
+			const uiElement = createUIElement( 'h1' );
 			const container = new ViewContainer( 'div', null, [ new ViewContainer( 'div' ), uiElement ] );
 			const domContainer = converter.viewToDom( container, document, { bind: true } );
 
@@ -100,7 +104,7 @@ describe( 'DOMConverter UIElement integration', () => {
 
 	describe( 'mapDomToView()', () => {
 		it( 'should return UIElement for DOM elements inside', () => {
-			const myElement = new MyUIElement( 'div' );
+			const myElement = createUIElement( 'div' );
 			const domElement = converter.viewToDom( myElement, document, { bind: true } );
 
 			expect( converter.mapDomToView( domElement ) ).to.equal( myElement );
@@ -115,7 +119,7 @@ describe( 'DOMConverter UIElement integration', () => {
 
 	describe( 'findCorrespondingViewText()', () => {
 		it( 'should return UIElement for DOM text inside', () => {
-			const myElement = new MyUIElement( 'div' );
+			const myElement = createUIElement( 'div' );
 			const domElement = converter.viewToDom( myElement, document, { bind: true } );
 
 			const domText = domElement.querySelector( 'span' ).childNodes[ 0 ];
@@ -125,7 +129,7 @@ describe( 'DOMConverter UIElement integration', () => {
 
 	describe( 'getParentUIElement()', () => {
 		it( 'should return UIElement for DOM children', () => {
-			const uiElement = new MyUIElement( 'div' );
+			const uiElement = createUIElement( 'div' );
 			const domElement = converter.viewToDom( uiElement, document, { bind: true } );
 
 			const domParagraph = domElement.childNodes[ 0 ];
@@ -136,7 +140,7 @@ describe( 'DOMConverter UIElement integration', () => {
 		} );
 
 		it( 'should return null for element itself', () => {
-			const uiElement = new MyUIElement( 'div' );
+			const uiElement = createUIElement( 'div' );
 			const domElement = converter.viewToDom( uiElement, document, { bind: true } );
 
 			expect( converter.getParentUIElement( domElement ) ).to.be.null;

+ 2 - 2
packages/ckeditor5-engine/tests/view/manual/uielement.js

@@ -21,7 +21,7 @@ function createEndingUIElement() {
 	const element = new UIElement( 'span' );
 
 	element.render = function( domDocument ) {
-		const root = this.createDomElement( domDocument );
+		const root = this.toDomElement( domDocument );
 		root.classList.add( 'ui-element' );
 		root.innerHTML = 'END OF PARAGRAPH';
 
@@ -35,7 +35,7 @@ function createMiddleUIElement() {
 	const element = new UIElement( 'span' );
 
 	element.render = function( domDocument ) {
-		const root = this.createDomElement( domDocument );
+		const root = this.toDomElement( domDocument );
 		root.classList.add( 'ui-element' );
 		root.innerHTML = 'X';
 

+ 9 - 5
packages/ckeditor5-engine/tests/view/observer/domeventobserver.js

@@ -163,20 +163,24 @@ describe( 'DomEventObserver', () => {
 	describe( 'integration with UIElement', () => {
 		let domRoot, domEvent, evtSpy, uiElement;
 
-		class MyUIElement extends UIElement {
-			render( domDocument ) {
-				const root = super.render( domDocument );
+		function createUIElement( name ) {
+			const element = new UIElement( name );
+
+			element.render = function( domDocument ) {
+				const root = this.toDomElement( domDocument );
 				root.innerHTML = '<span>foo bar</span>';
 
 				return root;
-			}
+			};
+
+			return element;
 		}
 
 		beforeEach( () => {
 			domRoot = document.createElement( 'div' );
 			const viewRoot = createViewRoot( viewDocument );
 			viewDocument.attachDomRoot( domRoot );
-			uiElement = new MyUIElement( 'p' );
+			uiElement = createUIElement( 'p' );
 			viewRoot.appendChildren( uiElement );
 			viewDocument.render();
 

+ 9 - 5
packages/ckeditor5-engine/tests/view/observer/mutationobserver.js

@@ -420,17 +420,21 @@ describe( 'MutationObserver', () => {
 	} );
 
 	describe( 'UIElement integration', () => {
-		class MyUIElement extends UIElement {
-			render( domDocument ) {
-				const root = super.render( domDocument );
+		function createUIElement( name ) {
+			const element = new UIElement( name );
+
+			element.render = function( domDocument ) {
+				const root = this.toDomElement( domDocument );
 				root.innerHTML = 'foo bar';
 
 				return root;
-			}
+			};
+
+			return element;
 		}
 
 		beforeEach( () => {
-			const uiElement = new MyUIElement( 'div' );
+			const uiElement = createUIElement( 'div' );
 			viewRoot.appendChildren( uiElement );
 
 			viewDocument.render();

+ 1 - 1
packages/ckeditor5-engine/tests/view/uielement.js

@@ -133,7 +133,7 @@ describe( 'UIElement', () => {
 
 		it( 'should allow to add new elements inside', () => {
 			uiElement.render = function( domDocument ) {
-				const element = this.createDomElement( domDocument );
+				const element = this.toDomElement( domDocument );
 				const text = domDocument.createTextNode( 'foo bar' );
 				element.appendChild( text );