Explorar el Código

Merge pull request #49 from ckeditor/t/sinon-fix

Tests: Properly use sinon sandbox in tests.
Oskar Wróbel hace 7 años
padre
commit
4243f2137f

+ 6 - 9
packages/ckeditor5-widget/tests/utils.js

@@ -20,15 +20,16 @@ import {
 } from '../src/utils';
 import UIElement from '@ckeditor/ckeditor5-engine/src/view/uielement';
 import env from '@ckeditor/ckeditor5-utils/src/env';
+import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
 
 describe( 'widget utils', () => {
-	const initialEnvEdge = env.isEdge;
-
 	let element, writer, viewDocument;
 
+	testUtils.createSinonSandbox();
+
 	beforeEach( () => {
 		// Most tests assume non-edge environment but we do not set `contenteditable=false` on Edge so stub `env.isEdge`.
-		env.isEdge = false;
+		testUtils.sinon.stub( env, 'isEdge' ).get( () => false );
 
 		viewDocument = new ViewDocument();
 		writer = new Writer( viewDocument );
@@ -37,10 +38,6 @@ describe( 'widget utils', () => {
 		toWidget( element, writer );
 	} );
 
-	afterEach( () => {
-		env.isEdge = initialEnvEdge;
-	} );
-
 	describe( 'toWidget()', () => {
 		it( 'should set contenteditable to "false"', () => {
 			expect( element.getAttribute( 'contenteditable' ) ).to.equal( 'false' );
@@ -123,7 +120,7 @@ describe( 'widget utils', () => {
 
 		describe( 'on Edge', () => {
 			beforeEach( () => {
-				env.isEdge = true;
+				testUtils.sinon.stub( env, 'isEdge' ).get( () => true );
 
 				element = writer.createContainerElement( 'div' );
 				toWidget( element, writer );
@@ -215,7 +212,7 @@ describe( 'widget utils', () => {
 
 		describe( 'on Edge', () => {
 			beforeEach( () => {
-				env.isEdge = true;
+				testUtils.sinon.stub( env, 'isEdge' ).get( () => true );
 
 				viewDocument = new ViewDocument();
 				element = new ViewEditableElement( 'div' );

+ 4 - 7
packages/ckeditor5-widget/tests/widget.js

@@ -15,17 +15,18 @@ import { setData as setModelData, getData as getModelData } from '@ckeditor/cked
 import { getData as getViewData } from '@ckeditor/ckeditor5-engine/src/dev-utils/view';
 import { keyCodes } from '@ckeditor/ckeditor5-utils/src/keyboard';
 import env from '@ckeditor/ckeditor5-utils/src/env';
+import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
 
 /* global document */
 
 describe( 'Widget', () => {
-	const initialEnvEdge = env.isEdge;
-
 	let editor, model, view, viewDocument;
 
+	testUtils.createSinonSandbox();
+
 	beforeEach( () => {
 		// Most tests assume non-edge environment but we do not set `contenteditable=false` on Edge so stub `env.isEdge`.
-		env.isEdge = false;
+		testUtils.sinon.stub( env, 'isEdge' ).get( () => false );
 
 		return VirtualTestEditor.create( { plugins: [ Widget, Typing ] } )
 			.then( newEditor => {
@@ -102,10 +103,6 @@ describe( 'Widget', () => {
 			} );
 	} );
 
-	afterEach( () => {
-		env.isEdge = initialEnvEdge;
-	} );
-
 	it( 'should be loaded', () => {
 		expect( editor.plugins.get( Widget ) ).to.be.instanceOf( Widget );
 	} );