8
0
Piotrek Koszuliński 10 жил өмнө
parent
commit
4807351bc9

+ 1 - 7
packages/ckeditor5-engine/tests/treemodel/attribute.js

@@ -7,15 +7,9 @@
 
 'use strict';
 
-const modules = bender.amd.require( 'core/treemodel/attribute' );
+import Attribute from '/ckeditor5/core/treemodel/attribute.js';
 
 describe( 'Attribute', () => {
-	let Attribute;
-
-	before( () => {
-		Attribute = modules[ 'core/treemodel/attribute' ];
-	} );
-
 	beforeEach( () => {
 		Attribute._register = {};
 	} );

+ 4 - 13
packages/ckeditor5-engine/tests/treemodel/attributelist.js

@@ -4,25 +4,16 @@
  */
 
 /* bender-tags: treemodel */
-/* bender-include: ../_tools/tools.js */
 
 'use strict';
 
-const getIteratorCount = bender.tools.core.getIteratorCount;
+import coreTestUtils from '/tests/core/_utils/utils.js';
+import AttributeList from '/ckeditor5/core/treemodel/attributelist.js';
+import Attribute from '/ckeditor5/core/treemodel/attribute.js';
 
-const modules = bender.amd.require(
-	'core/treemodel/attributelist',
-	'core/treemodel/attribute'
-);
+const getIteratorCount = coreTestUtils.getIteratorCount;
 
 describe( 'AttributeList', () => {
-	let AttributeList, Attribute;
-
-	before( () => {
-		AttributeList = modules[ 'core/treemodel/attributelist' ];
-		Attribute = modules[ 'core/treemodel/attribute' ];
-	} );
-
 	let list, attrFooBar;
 
 	beforeEach( () => {

+ 3 - 13
packages/ckeditor5-engine/tests/treemodel/batch.js

@@ -7,21 +7,11 @@
 
 'use strict';
 
-const modules = bender.amd.require(
-	'core/treemodel/batch',
-	'core/treemodel/delta/delta',
-	'core/ckeditorerror'
-);
+import Batch from '/ckeditor5/core/treemodel/batch.js';
+import Delta from '/ckeditor5/core/treemodel/delta/delta.js';
+import CKEditorError from '/ckeditor5/core/ckeditorerror.js';
 
 describe( 'Batch', () => {
-	let Batch, Delta, CKEditorError;
-
-	before( () => {
-		Batch = modules[ 'core/treemodel/batch' ];
-		Delta = modules[ 'core/treemodel/delta/delta' ];
-		CKEditorError = modules[ 'core/ckeditorerror' ];
-	} );
-
 	it( 'should have registered basic methods', () => {
 		const batch = new Batch();
 

+ 6 - 17
packages/ckeditor5-engine/tests/treemodel/character.js

@@ -4,29 +4,18 @@
  */
 
 /* bender-tags: treemodel */
-/* bender-include: ../_tools/tools.js */
 
 'use strict';
 
-const getIteratorCount = bender.tools.core.getIteratorCount;
+import coreTestUtils from '/tests/core/_utils/utils.js';
+import Character from '/ckeditor5/core/treemodel/character.js';
+import Node from '/ckeditor5/core/treemodel/node.js';
+import Element from '/ckeditor5/core/treemodel/element.js';
+import Attribute from '/ckeditor5/core/treemodel/attribute.js';
 
-const modules = bender.amd.require(
-	'core/treemodel/character',
-	'core/treemodel/node',
-	'core/treemodel/element',
-	'core/treemodel/attribute'
-);
+const getIteratorCount = coreTestUtils.getIteratorCount;
 
 describe( 'Character', () => {
-	let Element, Character, Node, Attribute;
-
-	before( () => {
-		Element = modules[ 'core/treemodel/element' ];
-		Character = modules[ 'core/treemodel/character' ];
-		Node = modules[ 'core/treemodel/node' ];
-		Attribute = modules[ 'core/treemodel/attribute' ];
-	} );
-
 	describe( 'constructor', () => {
 		it( 'should create character without attributes', () => {
 			let character = new Character( 'f' );

+ 6 - 17
packages/ckeditor5-engine/tests/treemodel/element.js

@@ -4,29 +4,18 @@
  */
 
 /* bender-tags: treemodel */
-/* bender-include: ../_tools/tools.js */
 
 'use strict';
 
-const getIteratorCount = bender.tools.core.getIteratorCount;
+import coreTestUtils from '/tests/core/_utils/utils.js';
+import Node from '/ckeditor5/core/treemodel/node.js';
+import NodeList from '/ckeditor5/core/treemodel/nodelist.js';
+import Element from '/ckeditor5/core/treemodel/element.js';
+import Attribute from '/ckeditor5/core/treemodel/attribute.js';
 
-const modules = bender.amd.require(
-	'core/treemodel/node',
-	'core/treemodel/nodelist',
-	'core/treemodel/element',
-	'core/treemodel/attribute'
-);
+const getIteratorCount = coreTestUtils.getIteratorCount;
 
 describe( 'Element', () => {
-	let Element, Node, NodeList, Attribute;
-
-	before( () => {
-		Element = modules[ 'core/treemodel/element' ];
-		Node = modules[ 'core/treemodel/node' ];
-		NodeList = modules[ 'core/treemodel/nodelist' ];
-		Attribute = modules[ 'core/treemodel/attribute' ];
-	} );
-
 	describe( 'constructor', () => {
 		it( 'should create element without attributes', () => {
 			let element = new Element( 'elem' );

+ 5 - 16
packages/ckeditor5-engine/tests/treemodel/liveposition.js

@@ -7,27 +7,16 @@
 
 'use strict';
 
-const modules = bender.amd.require(
-	'core/treemodel/document',
-	'core/treemodel/element',
-	'core/treemodel/position',
-	'core/treemodel/liveposition',
-	'core/treemodel/range',
-	'core/emittermixin'
-);
+import Document from '/ckeditor5/core/treemodel/document.js';
+import Element from '/ckeditor5/core/treemodel/element.js';
+import Position from '/ckeditor5/core/treemodel/position.js';
+import LivePosition from '/ckeditor5/core/treemodel/liveposition.js';
+import Range from '/ckeditor5/core/treemodel/range.js';
 
 describe( 'LivePosition', () => {
-	let Document, Element, Position, LivePosition, Range, EmitterMixin;
 	let doc, root, ul, p, li1, li2;
 
 	before( () => {
-		Document = modules[ 'core/treemodel/document' ];
-		Element = modules[ 'core/treemodel/element' ];
-		Position = modules[ 'core/treemodel/position' ];
-		LivePosition = modules[ 'core/treemodel/liveposition' ];
-		Range = modules[ 'core/treemodel/range' ];
-		EmitterMixin = modules[ 'core/emittermixin' ];
-
 		doc = new Document();
 		root = doc.createRoot( 'root' );
 

+ 5 - 16
packages/ckeditor5-engine/tests/treemodel/liverange.js

@@ -7,27 +7,16 @@
 
 'use strict';
 
-const modules = bender.amd.require(
-	'core/treemodel/document',
-	'core/treemodel/element',
-	'core/treemodel/position',
-	'core/treemodel/liverange',
-	'core/treemodel/range',
-	'core/emittermixin'
-);
+import Document from '/ckeditor5/core/treemodel/document.js';
+import Element from '/ckeditor5/core/treemodel/element.js';
+import Position from '/ckeditor5/core/treemodel/position.js';
+import LiveRange from '/ckeditor5/core/treemodel/liverange.js';
+import Range from '/ckeditor5/core/treemodel/range.js';
 
 describe( 'LiveRange', () => {
-	let Document, Element, Position, LiveRange, Range, EmitterMixin;
 	let doc, root, ul, p;
 
 	before( () => {
-		Document = modules[ 'core/treemodel/document' ];
-		Element = modules[ 'core/treemodel/element' ];
-		Position = modules[ 'core/treemodel/position' ];
-		LiveRange = modules[ 'core/treemodel/liverange' ];
-		Range = modules[ 'core/treemodel/range' ];
-		EmitterMixin = modules[ 'core/emittermixin' ];
-
 		doc = new Document();
 		root = doc.createRoot( 'root' );
 

+ 6 - 19
packages/ckeditor5-engine/tests/treemodel/node.js

@@ -4,37 +4,24 @@
  */
 
 /* bender-tags: treemodel */
-/* bender-include: ../_tools/tools.js */
 
 'use strict';
 
-const getIteratorCount = bender.tools.core.getIteratorCount;
+import coreTestUtils from '/tests/core/_utils/utils.js';
+import Attribute from '/ckeditor5/core/treemodel/attribute.js';
+import Element from '/ckeditor5/core/treemodel/element.js';
+import CKEditorError from '/ckeditor5/core/ckeditorerror.js';
+import Character from '/ckeditor5/core/treemodel/character.js';
 
-const modules = bender.amd.require(
-	'core/treemodel/element',
-	'core/treemodel/character',
-	'core/treemodel/attribute',
-	'core/treemodel/attributelist',
-	'core/treemodel/nodelist',
-	'core/ckeditorerror'
-);
+const getIteratorCount = coreTestUtils.getIteratorCount;
 
 describe( 'Node', () => {
-	let Element, Character, Attribute, AttributeList, NodeList, CKEditorError;
-
 	let root;
 	let one, two, three;
 	let charB, charA, charR, img, attrEle;
 	let attrFooBar;
 
 	before( () => {
-		Element = modules[ 'core/treemodel/element' ];
-		Character = modules[ 'core/treemodel/character' ];
-		Attribute = modules[ 'core/treemodel/attribute' ];
-		AttributeList = modules[ 'core/treemodel/attributelist' ];
-		NodeList = modules[ 'core/treemodel/nodelist' ];
-		CKEditorError = modules[ 'core/ckeditorerror' ];
-
 		charB = new Character( 'b' );
 		charA = new Character( 'a' );
 		img = new Element( 'img' );

+ 4 - 15
packages/ckeditor5-engine/tests/treemodel/nodelist.js

@@ -7,23 +7,12 @@
 
 'use strict';
 
-const modules = bender.amd.require(
-	'core/treemodel/nodelist',
-	'core/treemodel/character',
-	'core/treemodel/text',
-	'core/treemodel/attribute'
-);
+import NodeList from '/ckeditor5/core/treemodel/nodelist.js';
+import Character from '/ckeditor5/core/treemodel/character.js';
+import Text from '/ckeditor5/core/treemodel/text.js';
+import Attribute from '/ckeditor5/core/treemodel/attribute.js';
 
 describe( 'NodeList', () => {
-	let NodeList, Character, Text, Attribute;
-
-	before( () => {
-		NodeList = modules[ 'core/treemodel/nodelist' ];
-		Character = modules[ 'core/treemodel/character' ];
-		Text = modules[ 'core/treemodel/text' ];
-		Attribute = modules[ 'core/treemodel/attribute' ];
-	} );
-
 	describe( 'constructor', () => {
 		it( 'should change array of strings into a set of nodes', () => {
 			let nodeList = new NodeList( [ 'foo', new Character( 'x' ), 'bar' ] );

+ 5 - 17
packages/ckeditor5-engine/tests/treemodel/position.js

@@ -7,18 +7,13 @@
 
 'use strict';
 
-const modules = bender.amd.require(
-	'core/treemodel/element',
-	'core/treemodel/character',
-	'core/treemodel/position',
-	'core/treemodel/document',
-	'core/ckeditorerror',
-	'core/treemodel/nodelist'
-);
+import Document from '/ckeditor5/core/treemodel/document.js';
+import Element from '/ckeditor5/core/treemodel/element.js';
+import Character from '/ckeditor5/core/treemodel/character.js';
+import Position from '/ckeditor5/core/treemodel/position.js';
+import CKEditorError from '/ckeditor5/core/ckeditorerror.js';
 
 describe( 'position', () => {
-	let Element, Character, Document, NodeList, Position, CKEditorError;
-
 	let doc, root, otherRoot, p, ul, li1, li2, f, o, z, b, a, r;
 
 	// root
@@ -33,13 +28,6 @@ describe( 'position', () => {
 	//        |- a   Before: [ 1, 1, 1 ] After: [ 1, 1, 2 ]
 	//        |- r   Before: [ 1, 1, 2 ] After: [ 1, 1, 3 ]
 	before( () => {
-		Element = modules[ 'core/treemodel/element' ];
-		Character = modules[ 'core/treemodel/character' ];
-		Document = modules[ 'core/treemodel/document' ];
-		NodeList = modules[ 'core/treemodel/nodelist' ];
-		Position = modules[ 'core/treemodel/position' ];
-		CKEditorError = modules[ 'core/ckeditorerror' ];
-
 		doc = new Document();
 
 		root = doc.createRoot( 'root' );

+ 6 - 16
packages/ckeditor5-engine/tests/treemodel/positioniterator.js

@@ -7,29 +7,19 @@
 
 'use strict';
 
-const modules = bender.amd.require(
-	'core/treemodel/document',
-	'core/treemodel/element',
-	'core/treemodel/character',
-	'core/treemodel/positioniterator',
-	'core/treemodel/position',
-	'core/treemodel/range'
-);
+import Document from '/ckeditor5/core/treemodel/document.js';
+import Element from '/ckeditor5/core/treemodel/element.js';
+import Character from '/ckeditor5/core/treemodel/character.js';
+import PositionIterator from '/ckeditor5/core/treemodel/positioniterator.js';
+import Position from '/ckeditor5/core/treemodel/position.js';
+import Range from '/ckeditor5/core/treemodel/range.js';
 
 describe( 'range iterator', () => {
-	let Document, Element, Character, PositionIterator, Position, Range;
 	let ELEMENT_ENTER, ELEMENT_LEAVE, CHARACTER;
 
 	let doc, expectedItems, root, img1, paragraph, b, a, r, img2, x;
 
 	before( () => {
-		Document = modules[ 'core/treemodel/document' ];
-		Element = modules[ 'core/treemodel/element' ];
-		Character = modules[ 'core/treemodel/character' ];
-		PositionIterator = modules[ 'core/treemodel/positioniterator' ];
-		Position = modules[ 'core/treemodel/position' ];
-		Range = modules[ 'core/treemodel/range' ];
-
 		ELEMENT_ENTER = PositionIterator.ELEMENT_ENTER;
 		ELEMENT_LEAVE = PositionIterator.ELEMENT_LEAVE;
 		CHARACTER = PositionIterator.CHARACTER;

+ 5 - 17
packages/ckeditor5-engine/tests/treemodel/range.js

@@ -7,25 +7,13 @@
 
 'use strict';
 
-const modules = bender.amd.require(
-	'core/treemodel/range',
-	'core/treemodel/position',
-	'core/treemodel/element',
-	'core/treemodel/character',
-	'core/treemodel/document'
-);
+import Range from '/ckeditor5/core/treemodel/range.js';
+import Position from '/ckeditor5/core/treemodel/position.js';
+import Element from '/ckeditor5/core/treemodel/element.js';
+import Character from '/ckeditor5/core/treemodel/character.js';
+import Document from '/ckeditor5/core/treemodel/document.js';
 
 describe( 'Range', () => {
-	let Range, Position, Element, Character, Document;
-
-	before( () => {
-		Position = modules[ 'core/treemodel/position' ];
-		Range = modules[ 'core/treemodel/range' ];
-		Element = modules[ 'core/treemodel/element' ];
-		Character = modules[ 'core/treemodel/character' ];
-		Document = modules[ 'core/treemodel/document' ];
-	} );
-
 	let range, start, end, root, otherRoot;
 
 	beforeEach( () => {

+ 5 - 15
packages/ckeditor5-engine/tests/treemodel/rootelement.js

@@ -4,27 +4,17 @@
  */
 
 /* bender-tags: treemodel */
-/* bender-include: ../_tools/tools.js */
 
 'use strict';
 
-const getIteratorCount = bender.tools.core.getIteratorCount;
+import coreTestUtils from '/tests/core/_utils/utils.js';
+import Document from '/ckeditor5/core/treemodel/document.js';
+import Element from '/ckeditor5/core/treemodel/element.js';
+import RootElement from '/ckeditor5/core/treemodel/rootelement.js';
 
-const modules = bender.amd.require(
-	'core/treemodel/document',
-	'core/treemodel/element',
-	'core/treemodel/rootelement'
-);
+const getIteratorCount = coreTestUtils.getIteratorCount;
 
 describe( 'Element', () => {
-	let Document, Element, RootElement;
-
-	before( () => {
-		Document = modules[ 'core/treemodel/document' ];
-		Element = modules[ 'core/treemodel/element' ];
-		RootElement = modules[ 'core/treemodel/rootelement' ];
-	} );
-
 	describe( 'constructor', () => {
 		it( 'should create root element without attributes', () => {
 			let doc = new Document();

+ 13 - 28
packages/ckeditor5-engine/tests/treemodel/selection.js

@@ -5,41 +5,26 @@
 
 /* bender-tags: treemodel */
 
-/* bender-include: ../_tools/tools.js */
-
 'use strict';
 
-const getIteratorCount = bender.tools.core.getIteratorCount;
-
-const modules = bender.amd.require(
-	'core/treemodel/document',
-	'core/treemodel/attribute',
-	'core/treemodel/element',
-	'core/treemodel/range',
-	'core/treemodel/position',
-	'core/treemodel/liverange',
-	'core/treemodel/selection',
-	'core/treemodel/operation/insertoperation',
-	'core/treemodel/operation/moveoperation',
-	'core/ckeditorerror'
-);
+import coreTestUtils from '/tests/core/_utils/utils.js';
+import Document from '/ckeditor5/core/treemodel/document.js';
+import Attribute from '/ckeditor5/core/treemodel/attribute.js';
+import Element from '/ckeditor5/core/treemodel/element.js';
+import Range from '/ckeditor5/core/treemodel/range.js';
+import Position from '/ckeditor5/core/treemodel/position.js';
+import LiveRange from '/ckeditor5/core/treemodel/liverange.js';
+import Selection from '/ckeditor5/core/treemodel/selection.js';
+import InsertOperation from '/ckeditor5/core/treemodel/operation/insertoperation.js';
+import MoveOperation from '/ckeditor5/core/treemodel/operation/moveoperation.js';
+import CKEditorError from '/ckeditor5/core/ckeditorerror.js';
+
+const getIteratorCount = coreTestUtils.getIteratorCount;
 
 describe( 'Selection', () => {
-	let Document, Attribute, Element, Range, Position, LiveRange, Selection, InsertOperation, MoveOperation, CKEditorError;
 	let attrFooBar;
 
 	before( () => {
-		Document = modules[ 'core/treemodel/document' ];
-		Attribute = modules[ 'core/treemodel/attribute' ];
-		Element = modules[ 'core/treemodel/element' ];
-		Range = modules[ 'core/treemodel/range' ];
-		Position = modules[ 'core/treemodel/position' ];
-		LiveRange = modules[ 'core/treemodel/liverange' ];
-		Selection = modules[ 'core/treemodel/selection' ];
-		InsertOperation = modules[ 'core/treemodel/operation/insertoperation' ];
-		MoveOperation = modules[ 'core/treemodel/operation/moveoperation' ];
-		CKEditorError = modules[ 'core/ckeditorerror' ];
-
 		attrFooBar = new Attribute( 'foo', 'bar' );
 	} );
 

+ 2 - 7
packages/ckeditor5-engine/tests/treemodel/text.js

@@ -7,17 +7,12 @@
 
 'use strict';
 
-const modules = bender.amd.require(
-	'core/treemodel/text',
-	'core/treemodel/attribute'
-);
+import Text from '/ckeditor5/core/treemodel/text.js';
+import Attribute from '/ckeditor5/core/treemodel/attribute.js';
 
 describe( 'Text', () => {
 	describe( 'constructor', () => {
 		it( 'should create character without attributes', () => {
-			const Text = modules[ 'core/treemodel/text' ];
-			const Attribute = modules[ 'core/treemodel/attribute' ];
-
 			let attrs = [ new Attribute( 'bold', true ) ];
 			let text = new Text( 'bar', attrs );
 

+ 15 - 31
packages/ckeditor5-engine/tests/ui/controller.js

@@ -7,25 +7,18 @@
 
 'use strict';
 
-const modules = bender.amd.require( 'ckeditor',
-	'core/ui/view',
-	'core/ui/controller',
-	'core/ui/controllercollection',
-	'core/ui/region',
-	'core/ckeditorerror',
-	'core/model',
-	'core/collection',
-	'core/eventinfo'
-);
-
-let View, Controller, Model, CKEditorError, Collection, ControllerCollection;
+import testUtils from '/tests/_utils/utils.js';
+import View from '/ckeditor5/core/ui/view.js';
+import Controller from '/ckeditor5/core/ui/controller.js';
+import ControllerCollection from '/ckeditor5/core/ui/controllercollection.js';
+import CKEditorError from '/ckeditor5/core/ckeditorerror.js';
+import Model from '/ckeditor5/core/model.js';
+
 let ParentController, ParentView;
 
-bender.tools.createSinonSandbox();
+testUtils.createSinonSandbox();
 
 describe( 'Controller', () => {
-	beforeEach( updateModuleReference );
-
 	describe( 'constructor', () => {
 		it( 'defines basic properties', () => {
 			const controller = new Controller();
@@ -73,7 +66,7 @@ describe( 'Controller', () => {
 		it( 'should initialize own view', () => {
 			const view = new View();
 			const controller = new Controller( null, view );
-			const spy = bender.sinon.spy( view, 'init' );
+			const spy = testUtils.sinon.spy( view, 'init' );
 
 			return controller.init().then( () => {
 				sinon.assert.calledOnce( spy );
@@ -87,8 +80,8 @@ describe( 'Controller', () => {
 
 			const childController1 = new Controller();
 			const childController2 = new Controller();
-			const spy1 = bender.sinon.spy( childController1, 'init' );
-			const spy2 = bender.sinon.spy( childController2, 'init' );
+			const spy1 = testUtils.sinon.spy( childController1, 'init' );
+			const spy2 = testUtils.sinon.spy( childController2, 'init' );
 
 			buttonCollection.add( childController1 );
 			buttonCollection.add( childController2 );
@@ -127,7 +120,7 @@ describe( 'Controller', () => {
 				const parentController = new ParentController( null, parentView );
 				const collection = parentController.collections.get( 'x' );
 				const childController = new Controller( null, new View() );
-				const spy1 = bender.sinon.spy( parentView, 'addChild' );
+				const spy1 = testUtils.sinon.spy( parentView, 'addChild' );
 
 				collection.add( childController );
 
@@ -175,7 +168,7 @@ describe( 'Controller', () => {
 				const parentController = new ParentController( null, parentView );
 				const collection = parentController.collections.get( 'x' );
 				const childController = new Controller( null, new View() );
-				const spy = bender.sinon.spy( parentView, 'removeChild' );
+				const spy = testUtils.sinon.spy( parentView, 'removeChild' );
 
 				collection.add( childController );
 
@@ -198,7 +191,7 @@ describe( 'Controller', () => {
 		it( 'should destroy the controller', () => {
 			const view = new View();
 			const controller = new Controller( null, view );
-			const spy = bender.sinon.spy( view, 'destroy' );
+			const spy = testUtils.sinon.spy( view, 'destroy' );
 
 			return controller.init()
 				.then( () => {
@@ -233,7 +226,7 @@ describe( 'Controller', () => {
 			const collection = parentController.collections.get( 'x' );
 			const childView = new View();
 			const childController = new Controller( null, childView );
-			const spy = bender.sinon.spy( childView, 'destroy' );
+			const spy = testUtils.sinon.spy( childView, 'destroy' );
 
 			collection.add( childController );
 
@@ -269,15 +262,6 @@ describe( 'Controller', () => {
 	} );
 } );
 
-function updateModuleReference() {
-	View = modules[ 'core/ui/view' ];
-	Controller = modules[ 'core/ui/controller' ];
-	Model = modules[ 'core/model' ];
-	Collection = modules[ 'core/collection ' ];
-	ControllerCollection = modules[ 'core/ui/controllercollection' ];
-	CKEditorError = modules[ 'core/ckeditorerror' ];
-}
-
 function defineParentViewClass() {
 	ParentView = class extends View {
 		constructor() {

+ 7 - 16
packages/ckeditor5-engine/tests/ui/controllercollection.js

@@ -7,19 +7,16 @@
 
 'use strict';
 
-const modules = bender.amd.require( 'ckeditor',
-	'core/ui/controllercollection',
-	'core/ui/controller',
-	'core/ui/view'
-);
+import testUtils from '/tests/_utils/utils.js';
+import ControllerCollection from '/ckeditor5/core/ui/controllercollection.js';
+import Controller from '/ckeditor5/core/ui/controller.js';
+import View from '/ckeditor5/core/ui/view.js';
 
-bender.tools.createSinonSandbox();
+testUtils.createSinonSandbox();
 
-let ControllerCollection, Controller, View;
 let ParentView;
 
 describe( 'ControllerCollection', () => {
-	beforeEach( updateModuleReference );
 	beforeEach( defineParentViewClass );
 
 	describe( 'constructor', () => {
@@ -62,7 +59,7 @@ describe( 'ControllerCollection', () => {
 		it( 'should initialize child controller if parent is ready', () => {
 			const parentController = new Controller( null, new ParentView() );
 			const childController = new Controller( null, new View() );
-			const spy = bender.sinon.spy( childController, 'init' );
+			const spy = testUtils.sinon.spy( childController, 'init' );
 			const collection = new ControllerCollection( 'x' );
 
 			parentController.collections.add( collection );
@@ -83,7 +80,7 @@ describe( 'ControllerCollection', () => {
 		it( 'should not initialize child controller twice', () => {
 			const parentController = new Controller( null, new ParentView() );
 			const childController = new Controller( null, new View() );
-			const spy = bender.sinon.spy( childController, 'init' );
+			const spy = testUtils.sinon.spy( childController, 'init' );
 			const collection = new ControllerCollection( 'x' );
 
 			parentController.collections.add( collection );
@@ -102,12 +99,6 @@ describe( 'ControllerCollection', () => {
 	} );
 } );
 
-function updateModuleReference() {
-	View = modules[ 'core/ui/view' ];
-	Controller = modules[ 'core/ui/controller' ];
-	ControllerCollection = modules[ 'core/ui/controllercollection' ];
-}
-
 function defineParentViewClass() {
 	ParentView = class extends View {
 		constructor() {

+ 40 - 36
packages/ckeditor5-engine/tests/ui/domemittermixin.js

@@ -8,13 +8,17 @@
 
 'use strict';
 
-const modules = bender.amd.require( 'core/lib/lodash/object', 'core/ui/domemittermixin', 'core/emittermixin' );
+import testUtils from '/tests/_utils/utils.js';
+import objectUtils from '/ckeditor5/core/lib/lodash/object.js';
+import DOMEmitterMixin from '/ckeditor5/core/ui/domemittermixin.js';
+import EmitterMixin from '/ckeditor5/core/emittermixin.js';
+
 let emitter, domEmitter, node;
 
-bender.tools.createSinonSandbox();
+testUtils.createSinonSandbox();
 
-let getEmitterInstance = () => modules[ 'core/lib/lodash/object' ].extend( {}, modules[ 'core/emittermixin' ] );
-let getDOMEmitterInstance = () => modules[ 'core/lib/lodash/object' ].extend( {}, modules[ 'core/ui/domemittermixin' ] );
+let getEmitterInstance = () => objectUtils.extend( {}, EmitterMixin );
+let getDOMEmitterInstance = () => objectUtils.extend( {}, DOMEmitterMixin );
 let getDOMNodeInstance = () => document.createElement( 'div' );
 
 function updateEmitterInstance() {
@@ -35,7 +39,7 @@ beforeEach( updateDOMNodeInstance );
 
 describe( 'listenTo', () => {
 	it( 'should listen to EmitterMixin events', () => {
-		let spy = bender.sinon.spy();
+		let spy = testUtils.sinon.spy();
 
 		domEmitter.listenTo( emitter, 'test', spy );
 		emitter.fire( 'test' );
@@ -44,7 +48,7 @@ describe( 'listenTo', () => {
 	} );
 
 	it( 'should listen to native DOM events', () => {
-		let spy = bender.sinon.spy();
+		let spy = testUtils.sinon.spy();
 
 		domEmitter.listenTo( node, 'test', spy );
 
@@ -57,8 +61,8 @@ describe( 'listenTo', () => {
 
 describe( 'stopListening', () => {
 	it( 'should stop listening to a specific event callback', () => {
-		let spy1 = bender.sinon.spy();
-		let spy2 = bender.sinon.spy();
+		let spy1 = testUtils.sinon.spy();
+		let spy2 = testUtils.sinon.spy();
 
 		domEmitter.listenTo( node, 'event1', spy1 );
 		domEmitter.listenTo( node, 'event2', spy2 );
@@ -76,9 +80,9 @@ describe( 'stopListening', () => {
 	} );
 
 	it( 'should stop listening to an specific event', () => {
-		let spy1a = bender.sinon.spy();
-		let spy1b = bender.sinon.spy();
-		let spy2 = bender.sinon.spy();
+		let spy1a = testUtils.sinon.spy();
+		let spy1b = testUtils.sinon.spy();
+		let spy2 = testUtils.sinon.spy();
 
 		domEmitter.listenTo( node, 'event1', spy1a );
 		domEmitter.listenTo( node, 'event1', spy1b );
@@ -102,8 +106,8 @@ describe( 'stopListening', () => {
 	} );
 
 	it( 'should stop listening to all events from a specific node', () => {
-		let spy1 = bender.sinon.spy();
-		let spy2 = bender.sinon.spy();
+		let spy1 = testUtils.sinon.spy();
+		let spy2 = testUtils.sinon.spy();
 
 		domEmitter.listenTo( node, 'event1', spy1 );
 		domEmitter.listenTo( node, 'event2', spy2 );
@@ -121,8 +125,8 @@ describe( 'stopListening', () => {
 	} );
 
 	it( 'should stop listening to everything', () => {
-		let spy1 = bender.sinon.spy();
-		let spy2 = bender.sinon.spy();
+		let spy1 = testUtils.sinon.spy();
+		let spy2 = testUtils.sinon.spy();
 
 		let node1 = getDOMNodeInstance();
 		let node2 = getDOMNodeInstance();
@@ -147,7 +151,7 @@ describe( 'stopListening', () => {
 	} );
 
 	it( 'should not stop other nodes when a non-listened node is provided', () => {
-		let spy = bender.sinon.spy();
+		let spy = testUtils.sinon.spy();
 
 		let node1 = getDOMNodeInstance();
 		let node2 = getDOMNodeInstance();
@@ -162,7 +166,7 @@ describe( 'stopListening', () => {
 	} );
 
 	it( 'should pass DOM Event data to the listener', () => {
-		let spy = bender.sinon.spy();
+		let spy = testUtils.sinon.spy();
 
 		let node = getDOMNodeInstance();
 
@@ -180,13 +184,13 @@ describe( 'stopListening', () => {
 	} );
 
 	it( 'should detach native DOM event listener proxy, specific event', () => {
-		let spy1a = bender.sinon.spy();
-		let spy1b = bender.sinon.spy();
+		let spy1a = testUtils.sinon.spy();
+		let spy1b = testUtils.sinon.spy();
 
 		domEmitter.listenTo( node, 'test', spy1a );
 
 		let proxyEmitter = domEmitter._getProxyEmitter( node );
-		let spy2 = bender.sinon.spy( proxyEmitter, 'fire' );
+		let spy2 = testUtils.sinon.spy( proxyEmitter, 'fire' );
 
 		node.dispatchEvent( new Event( 'test' ) );
 
@@ -211,15 +215,15 @@ describe( 'stopListening', () => {
 	} );
 
 	it( 'should detach native DOM event listener proxy, specific callback', () => {
-		let spy1a = bender.sinon.spy();
-		let spy1b = bender.sinon.spy();
-		let spy1c = bender.sinon.spy();
+		let spy1a = testUtils.sinon.spy();
+		let spy1b = testUtils.sinon.spy();
+		let spy1c = testUtils.sinon.spy();
 
 		domEmitter.listenTo( node, 'test', spy1a );
 		domEmitter.listenTo( node, 'test', spy1b );
 
 		let proxyEmitter = domEmitter._getProxyEmitter( node );
-		let spy2 = bender.sinon.spy( proxyEmitter, 'fire' );
+		let spy2 = testUtils.sinon.spy( proxyEmitter, 'fire' );
 
 		node.dispatchEvent( new Event( 'test' ) );
 
@@ -254,16 +258,16 @@ describe( 'stopListening', () => {
 	} );
 
 	it( 'should detach native DOM event listener proxy, specific emitter', () => {
-		let spy1a = bender.sinon.spy();
-		let spy1b = bender.sinon.spy();
-		let spy1c = bender.sinon.spy();
-		let spy1d = bender.sinon.spy();
+		let spy1a = testUtils.sinon.spy();
+		let spy1b = testUtils.sinon.spy();
+		let spy1c = testUtils.sinon.spy();
+		let spy1d = testUtils.sinon.spy();
 
 		domEmitter.listenTo( node, 'test1', spy1a );
 		domEmitter.listenTo( node, 'test2', spy1b );
 
 		let proxyEmitter = domEmitter._getProxyEmitter( node );
-		let spy2 = bender.sinon.spy( proxyEmitter, 'fire' );
+		let spy2 = testUtils.sinon.spy( proxyEmitter, 'fire' );
 
 		node.dispatchEvent( new Event( 'test1' ) );
 		node.dispatchEvent( new Event( 'test2' ) );
@@ -287,7 +291,7 @@ describe( 'stopListening', () => {
 
 		// Old proxy emitter died when stopped listening to the node.
 		let proxyEmitter2 = domEmitter._getProxyEmitter( node );
-		let spy3 = bender.sinon.spy( proxyEmitter2, 'fire' );
+		let spy3 = testUtils.sinon.spy( proxyEmitter2, 'fire' );
 
 		node.dispatchEvent( new Event( 'test1' ) );
 		node.dispatchEvent( new Event( 'test2' ) );
@@ -303,16 +307,16 @@ describe( 'stopListening', () => {
 	} );
 
 	it( 'should detach native DOM event listener proxy, everything', () => {
-		let spy1a = bender.sinon.spy();
-		let spy1b = bender.sinon.spy();
-		let spy1c = bender.sinon.spy();
-		let spy1d = bender.sinon.spy();
+		let spy1a = testUtils.sinon.spy();
+		let spy1b = testUtils.sinon.spy();
+		let spy1c = testUtils.sinon.spy();
+		let spy1d = testUtils.sinon.spy();
 
 		domEmitter.listenTo( node, 'test1', spy1a );
 		domEmitter.listenTo( node, 'test2', spy1b );
 
 		let proxyEmitter = domEmitter._getProxyEmitter( node );
-		let spy2 = bender.sinon.spy( proxyEmitter, 'fire' );
+		let spy2 = testUtils.sinon.spy( proxyEmitter, 'fire' );
 
 		node.dispatchEvent( new Event( 'test1' ) );
 		node.dispatchEvent( new Event( 'test2' ) );
@@ -336,7 +340,7 @@ describe( 'stopListening', () => {
 
 		// Old proxy emitter died when stopped listening to the node.
 		let proxyEmitter2 = domEmitter._getProxyEmitter( node );
-		let spy3 = bender.sinon.spy( proxyEmitter2, 'fire' );
+		let spy3 = testUtils.sinon.spy( proxyEmitter2, 'fire' );
 
 		node.dispatchEvent( new Event( 'test1' ) );
 		node.dispatchEvent( new Event( 'test2' ) );

+ 2 - 7
packages/ckeditor5-engine/tests/ui/region.js

@@ -8,11 +8,9 @@
 
 'use strict';
 
-const modules = bender.amd.require( 'core/ui/region', 'core/ui/view' );
+import Region from '/ckeditor5/core/ui/region.js';
+import View from '/ckeditor5/core/ui/view.js';
 
-bender.tools.createSinonSandbox();
-
-let Region, View;
 let TestViewA, TestViewB;
 let region, el;
 
@@ -107,9 +105,6 @@ describe( 'View', () => {
 } );
 
 function createRegionInstance() {
-	Region = modules[ 'core/ui/region' ];
-	View = modules[ 'core/ui/view' ];
-
 	class A extends View {
 		constructor() {
 			super();

+ 15 - 21
packages/ckeditor5-engine/tests/ui/template.js

@@ -8,14 +8,12 @@
 
 'use strict';
 
-const modules = bender.amd.require( 'core/ui/template' );
-let Template;
+import testUtils from '/tests/_utils/utils.js';
+import Template from '/ckeditor5/core/ui/template.js';
 
-bender.tools.createSinonSandbox();
+testUtils.createSinonSandbox();
 
 describe( 'Template', () => {
-	beforeEach( createClassReferences );
-
 	describe( 'constructor', () => {
 		it( 'accepts the definition', () => {
 			let def = {
@@ -75,8 +73,8 @@ describe( 'Template', () => {
 
 		describe( 'callback', () => {
 			it( 'works for attributes', () => {
-				let spy1 = bender.sinon.spy();
-				let spy2 = bender.sinon.spy();
+				let spy1 = testUtils.sinon.spy();
+				let spy2 = testUtils.sinon.spy();
 
 				let el = new Template( {
 					tag: 'p',
@@ -103,8 +101,8 @@ describe( 'Template', () => {
 			} );
 
 			it( 'works for "text" property', () => {
-				let spy1 = bender.sinon.spy();
-				let spy2 = bender.sinon.spy();
+				let spy1 = testUtils.sinon.spy();
+				let spy2 = testUtils.sinon.spy();
 
 				let el = new Template( {
 					tag: 'p',
@@ -128,10 +126,10 @@ describe( 'Template', () => {
 			} );
 
 			it( 'works for "on" property', () => {
-				let spy1 = bender.sinon.spy();
-				let spy2 = bender.sinon.spy();
-				let spy3 = bender.sinon.spy();
-				let spy4 = bender.sinon.spy();
+				let spy1 = testUtils.sinon.spy();
+				let spy2 = testUtils.sinon.spy();
+				let spy3 = testUtils.sinon.spy();
+				let spy4 = testUtils.sinon.spy();
 
 				let el = new Template( {
 					tag: 'p',
@@ -156,10 +154,10 @@ describe( 'Template', () => {
 			} );
 
 			it( 'works for "on" property with selectors', () => {
-				let spy1 = bender.sinon.spy();
-				let spy2 = bender.sinon.spy();
-				let spy3 = bender.sinon.spy();
-				let spy4 = bender.sinon.spy();
+				let spy1 = testUtils.sinon.spy();
+				let spy2 = testUtils.sinon.spy();
+				let spy3 = testUtils.sinon.spy();
+				let spy4 = testUtils.sinon.spy();
 
 				let el = new Template( {
 					tag: 'p',
@@ -194,7 +192,3 @@ describe( 'Template', () => {
 		} );
 	} );
 } );
-
-function createClassReferences() {
-	Template = modules[ 'core/ui/template' ];
-}

+ 22 - 33
packages/ckeditor5-engine/tests/ui/view.js

@@ -8,21 +8,17 @@
 
 'use strict';
 
-const modules = bender.amd.require(
-	'core/ui/view',
-	'core/ui/region',
-	'core/ckeditorerror',
-	'core/model'
-);
+import testUtils from '/tests/_utils/utils.js';
+import View from '/ckeditor5/core/ui/view.js';
+import Region from '/ckeditor5/core/ui/region.js';
+import CKEditorError from '/ckeditor5/core/ckeditorerror.js';
+import Model from '/ckeditor5/core/model.js';
 
-let View, TestView, Model, Region, CKEditorError;
-let view;
+let TestView, view;
 
-bender.tools.createSinonSandbox();
+testUtils.createSinonSandbox();
 
 describe( 'View', () => {
-	beforeEach( updateModuleReference );
-
 	describe( 'constructor', () => {
 		beforeEach( () => {
 			setTestViewClass();
@@ -73,8 +69,8 @@ describe( 'View', () => {
 			view.register( region1, el => el );
 			view.register( region2, el => el );
 
-			const spy1 = bender.sinon.spy( region1, 'init' );
-			const spy2 = bender.sinon.spy( region2, 'init' );
+			const spy1 = testUtils.sinon.spy( region1, 'init' );
+			const spy2 = testUtils.sinon.spy( region2, 'init' );
 
 			view.init();
 
@@ -319,7 +315,7 @@ describe( 'View', () => {
 
 		it( 'should not override an existing region with the same region with override flag', () => {
 			const region = new Region( 'x' );
-			const spy = bender.sinon.spy( view.regions, 'remove' );
+			const spy = testUtils.sinon.spy( view.regions, 'remove' );
 
 			view.register( region, true );
 			view.register( region, true, true );
@@ -359,7 +355,7 @@ describe( 'View', () => {
 		it( 'returns a function that passes arguments', () => {
 			setTestViewInstance( { a: 'foo' } );
 
-			let spy = bender.sinon.spy();
+			let spy = testUtils.sinon.spy();
 			let callback = view.bindToAttribute( 'a', spy );
 
 			expect( spy.called ).to.be.false;
@@ -463,7 +459,7 @@ describe( 'View', () => {
 
 	describe( 'on', () => {
 		it( 'accepts plain binding', () => {
-			let spy = bender.sinon.spy();
+			let spy = testUtils.sinon.spy();
 
 			setTestViewClass( function() {
 				return {
@@ -486,8 +482,8 @@ describe( 'View', () => {
 		} );
 
 		it( 'accepts an array of event bindings', () => {
-			let spy1 = bender.sinon.spy();
-			let spy2 = bender.sinon.spy();
+			let spy1 = testUtils.sinon.spy();
+			let spy2 = testUtils.sinon.spy();
 
 			setTestViewClass( function() {
 				return {
@@ -515,9 +511,9 @@ describe( 'View', () => {
 		} );
 
 		it( 'accepts DOM selectors', () => {
-			let spy1 = bender.sinon.spy();
-			let spy2 = bender.sinon.spy();
-			let spy3 = bender.sinon.spy();
+			let spy1 = testUtils.sinon.spy();
+			let spy2 = testUtils.sinon.spy();
+			let spy3 = testUtils.sinon.spy();
 
 			setTestViewClass( function() {
 				return {
@@ -600,8 +596,8 @@ describe( 'View', () => {
 		} );
 
 		it( 'accepts function callbacks', () => {
-			let spy1 = bender.sinon.spy();
-			let spy2 = bender.sinon.spy();
+			let spy1 = testUtils.sinon.spy();
+			let spy2 = testUtils.sinon.spy();
 
 			setTestViewClass( function() {
 				return {
@@ -633,7 +629,7 @@ describe( 'View', () => {
 		} );
 
 		it( 'supports event delegation', () => {
-			let spy = bender.sinon.spy();
+			let spy = testUtils.sinon.spy();
 
 			setTestViewClass( function() {
 				return {
@@ -661,7 +657,7 @@ describe( 'View', () => {
 		} );
 
 		it( 'works for future elements', () => {
-			let spy = bender.sinon.spy();
+			let spy = testUtils.sinon.spy();
 
 			setTestViewClass( function() {
 				return {
@@ -710,7 +706,7 @@ describe( 'View', () => {
 
 		it( 'destroys child regions', () => {
 			const region = new Region( 'x' );
-			const spy = bender.sinon.spy( region, 'destroy' );
+			const spy = testUtils.sinon.spy( region, 'destroy' );
 			const regionsRef = view.regions;
 			const regionViewsRef = region.views;
 
@@ -757,13 +753,6 @@ describe( 'View', () => {
 	} );
 } );
 
-function updateModuleReference() {
-	View = modules[ 'core/ui/view' ];
-	Region = modules[ 'core/ui/region' ];
-	Model = modules[ 'core/model' ];
-	CKEditorError = modules[ 'core/ckeditorerror' ];
-}
-
 function createViewInstanceWithTemplate() {
 	setTestViewClass( () => ( { tag: 'a' } ) );
 	setTestViewInstance();