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

Tests: Views will be created by JS (not inserting from HTML file).

Kamil Piechaczek 9 лет назад
Родитель
Сommit
48755f4a1f

+ 0 - 1
packages/ckeditor5-engine/tests/__template__.html

@@ -1 +0,0 @@
-<div contenteditable="true" id="editor"></div>

+ 14 - 1
packages/ckeditor5-engine/tests/view/document/document.js

@@ -6,6 +6,7 @@
 /* globals document */
 /* bender-tags: view, browser-only */
 
+import createElement from '/ckeditor5/utils/dom/createelement.js';
 import Document from '/ckeditor5/engine/view/document.js';
 import Observer from '/ckeditor5/engine/view/observer/observer.js';
 import MutationObserver from '/ckeditor5/engine/view/observer/mutationobserver.js';
@@ -24,7 +25,19 @@ testUtils.createSinonSandbox();
 
 describe( 'Document', () => {
 	const DEFAULT_OBSERVERS_COUNT = 5;
-	let ObserverMock, ObserverMockGlobalCount, instantiated, enabled;
+	let ObserverMock, ObserverMockGlobalCount, instantiated, enabled, domRoot;
+
+	before( () => {
+		domRoot = createElement( document, 'div', {
+			id: 'editor',
+			contenteditable: 'true'
+		} );
+		document.body.appendChild( domRoot );
+	} );
+
+	after( () => {
+		domRoot.parentElement.removeChild( domRoot );
+	} );
 
 	beforeEach( () => {
 		instantiated = 0;

+ 0 - 1
packages/ckeditor5-engine/tests/view/document/jumpoverinlinefiller.html

@@ -1 +0,0 @@
-<div contenteditable="true" id="editor"></div>

+ 13 - 2
packages/ckeditor5-engine/tests/view/document/jumpoverinlinefiller.js

@@ -11,21 +11,32 @@ import ViewDocument from '/ckeditor5/engine/view/document.js';
 import { INLINE_FILLER_LENGTH, isInlineFiller, startsWithFiller } from '/ckeditor5/engine/view/filler.js';
 
 import { keyCodes } from '/ckeditor5/utils/keyboard.js';
+import createElement from '/ckeditor5/utils/dom/createelement.js';
 
 import { parse, setData } from '/ckeditor5/engine/dev-utils/view.js';
 
 describe( 'Document', () => {
-	let viewDocument;
+	let viewDocument, domRoot;
 
 	before( () => {
+		domRoot = createElement( document, 'div', {
+			id: 'editor',
+			contenteditable: 'true'
+		} );
+		document.body.appendChild( domRoot );
+
 		viewDocument = new ViewDocument();
-		viewDocument.createRoot( document.getElementById( 'editor' ) ) ;
+		viewDocument.createRoot( domRoot );
 
 		document.getSelection().removeAllRanges();
 
 		viewDocument.isFocused = true;
 	} );
 
+	after( () => {
+		domRoot.parentElement.removeChild( domRoot );
+	} );
+
 	describe( 'jump over inline filler hack', () => {
 		it( 'should jump over inline filler when left arrow is pressed after inline filler', () => {
 			setData( viewDocument, '<container:p>foo<attribute:b>[]</attribute:b>bar</container:p>' );

+ 0 - 2
packages/ckeditor5-engine/tests/view/observer/__template__.html

@@ -1,2 +0,0 @@
-<div contenteditable="true" id="main"></div>
-<div contenteditable="true" id="additional"></div>

+ 9 - 1
packages/ckeditor5-engine/tests/view/observer/domeventdata.js

@@ -10,14 +10,22 @@ import DomEventData from '/ckeditor5/engine/view/observer/domeventdata.js';
 import ViewDocument from '/ckeditor5/engine/view/document.js';
 
 describe( 'DomEventData', () => {
-	let viewDocument, viewBody;
+	let viewDocument, viewBody, domRoot;
 
 	beforeEach( () => {
 		viewDocument = new ViewDocument();
 
+		domRoot = document.createElement( 'div' );
+		domRoot.innerHTML = `<div contenteditable="true" id="main"></div><div contenteditable="true" id="additional"></div>`;
+		document.body.appendChild( domRoot );
+
 		viewBody = viewDocument.domConverter.domToView( document.body, { bind: true } );
 	} );
 
+	afterEach( () => {
+		domRoot.parentElement.removeChild( domRoot );
+	} );
+
 	describe( 'constructor', () => {
 		it( 'sets properties', () => {
 			const domEvt = { target: document.body };

+ 7 - 1
packages/ckeditor5-engine/tests/view/observer/mutationobserver.js

@@ -11,9 +11,13 @@ import MutationObserver from '/ckeditor5/engine/view/observer/mutationobserver.j
 import { parse } from '/ckeditor5/engine/dev-utils/view.js';
 
 describe( 'MutationObserver', () => {
-	let domEditor, viewDocument, viewRoot, mutationObserver, lastMutations;
+	let domEditor, viewDocument, viewRoot, mutationObserver, lastMutations, domRoot;
 
 	beforeEach( () => {
+		domRoot = document.createElement( 'div' );
+		domRoot.innerHTML = `<div contenteditable="true" id="main"></div><div contenteditable="true" id="additional"></div>`;
+		document.body.appendChild( domRoot );
+
 		viewDocument = new ViewDocument();
 		domEditor = document.getElementById( 'main' );
 		lastMutations = null;
@@ -35,6 +39,8 @@ describe( 'MutationObserver', () => {
 
 	afterEach( () => {
 		mutationObserver.disable();
+
+		domRoot.parentElement.removeChild( domRoot );
 	} );
 
 	it( 'should handle typing', () => {

+ 9 - 2
packages/ckeditor5-engine/tests/view/observer/selectionobserver.js

@@ -21,13 +21,16 @@ import { parse } from '/ckeditor5/engine/dev-utils/view.js';
 testUtils.createSinonSandbox();
 
 describe( 'SelectionObserver', () => {
-	let viewDocument, viewRoot, mutationObserver, selectionObserver, listenter;
+	let viewDocument, viewRoot, mutationObserver, selectionObserver, listenter, domRoot;
 
 	before( () => {
+		domRoot = document.createElement( 'div' );
+		domRoot.innerHTML = `<div contenteditable="true" id="main"></div><div contenteditable="true" id="additional"></div>`;
+		document.body.appendChild( domRoot );
+
 		listenter = Object.create( EmitterMixin );
 
 		viewDocument = new ViewDocument();
-
 		viewDocument.createRoot( document.getElementById( 'main' ) );
 
 		mutationObserver = viewDocument.getObserver( MutationObserver );
@@ -42,6 +45,10 @@ describe( 'SelectionObserver', () => {
 		viewDocument.render();
 	} );
 
+	after( () => {
+		domRoot.parentElement.removeChild( domRoot );
+	} );
+
 	beforeEach( ( done ) => {
 		viewDocument.selection.removeAllRanges();
 		document.getSelection().removeAllRanges();