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

Renamed and refactored createTestUIController -> createTestUIView.

Aleksander Nowodziński 9 лет назад
Родитель
Сommit
6aabd98c33

+ 13 - 16
packages/ckeditor5-ui/tests/_utils-tests/utils.js

@@ -8,43 +8,40 @@
 import testUtils from 'tests/ui/_utils/utils.js';
 
 describe( 'utils', () => {
-	describe( 'createTestUIController', () => {
+	describe( 'createTestUIView', () => {
 		it( 'returns a promise', () => {
-			expect( testUtils.createTestUIController() ).to.be.instanceof( Promise );
+			expect( testUtils.createTestUIView() ).to.be.instanceof( Promise );
 		} );
 
-		describe( 'controller instance', () => {
+		describe( 'view instance', () => {
 			it( 'comes with a view', () => {
-				const promise = testUtils.createTestUIController();
+				const promise = testUtils.createTestUIView();
 
-				return promise.then( controller => {
-					expect( controller.view.element ).to.equal( document.body );
+				return promise.then( view => {
+					expect( view.element ).to.equal( document.body );
 				} );
 			} );
 
 			it( 'creates collections and regions', () => {
-				const promise = testUtils.createTestUIController( {
+				const promise = testUtils.createTestUIView( {
 					foo: el => el.firstChild,
 					bar: el => el.lastChild,
 				} );
 
-				promise.then( controller => {
-					expect( controller.collections.get( 'foo' ) ).to.be.not.undefined;
-					expect( controller.collections.get( 'bar' ) ).to.be.not.undefined;
-
-					expect( controller.view.regions.get( 'foo' ).element ).to.equal( document.body.firstChild );
-					expect( controller.view.regions.get( 'bar' ).element ).to.equal( document.body.lastChild );
+				return promise.then( view => {
+					expect( view.foo._parentElement ).to.equal( document.body.firstChild );
+					expect( view.bar._parentElement ).to.equal( document.body.lastChild );
 				} );
 			} );
 
 			it( 'is ready', () => {
-				const promise = testUtils.createTestUIController( {
+				const promise = testUtils.createTestUIView( {
 					foo: el => el.firstChild,
 					bar: el => el.lastChild,
 				} );
 
-				promise.then( controller => {
-					expect( controller.ready ).to.be.true;
+				return promise.then( view => {
+					expect( view.ready ).to.be.true;
 				} );
 			} );
 		} );

+ 16 - 13
packages/ckeditor5-ui/tests/_utils/utils.js

@@ -6,7 +6,6 @@
 /* globals document */
 
 import View from 'ckeditor5/ui/view.js';
-import Controller from 'ckeditor5/ui/controller.js';
 
 /**
  * Test utils for CKEditor UI.
@@ -21,35 +20,39 @@ const utils = {
 	 * Usage:
 	 *
 	 *		// Get the controller.
-	 *		const controller = testUtils.createTestUIController();
+	 *		const controller = testUtils.createTestUIView();
 	 *
 	 *		// Then use it to organize and initialize children.
 	 *		controller.add( 'some-collection', childControllerInstance );
 	 *
-	 * @param {Object} regions An object literal with `regionName: DOM Selector pairs`.
+	 * @param {Object} regions An object literal with `regionName: [DOM Selector|callback]` pairs.
 	 * See {@link ui.View#register}.
 	 */
-	createTestUIController( regions ) {
+	createTestUIView( regions ) {
 		const TestUIView = class extends View {
 			constructor() {
 				super();
 
 				this.element = document.body;
 
-				for ( let r in regions ) {
-					this.register( r, regions[ r ] );
+				for ( let name in regions ) {
+					const regionCollection = this[ name ] = this.createCollection();
+					const callbackOrSelector = regions[ name ];
+
+					regionCollection.setParent(
+						typeof callbackOrSelector == 'string' ?
+								document.querySelector( callbackOrSelector )
+							:
+								callbackOrSelector( this.element )
+					);
 				}
 			}
 		};
 
-		const controller = new Controller( null, new TestUIView() );
-
-		for ( let r in regions ) {
-			controller.addCollection( r );
-		}
+		const view = new TestUIView();
 
-		return controller.init().then( () => {
-			return controller;
+		return view.init().then( () => {
+			return view;
 		} );
 	}
 };