ソースを参照

Internal: Added env-targeted tests for `InputObserver`.

Szymon Cofalik 6 年 前
コミット
80ccfa5d17

+ 0 - 1
packages/ckeditor5-engine/src/view/view.js

@@ -175,7 +175,6 @@ export default class View {
 		this.addObserver( FakeSelectionObserver );
 		this.addObserver( FakeSelectionObserver );
 		this.addObserver( CompositionObserver );
 		this.addObserver( CompositionObserver );
 
 
-		/* istanbul ignore if */
 		if ( env.isAndroid ) {
 		if ( env.isAndroid ) {
 			this.addObserver( InputObserver );
 			this.addObserver( InputObserver );
 		}
 		}

+ 10 - 0
packages/ckeditor5-engine/tests/view/observer/inputobserver.js

@@ -5,9 +5,15 @@
 
 
 import InputObserver from '../../../src/view/observer/inputobserver';
 import InputObserver from '../../../src/view/observer/inputobserver';
 import View from '../../../src/view/view';
 import View from '../../../src/view/view';
+import env from '@ckeditor/ckeditor5-utils/src/env';
 
 
 describe( 'InputObserver', () => {
 describe( 'InputObserver', () => {
 	let view, viewDocument, observer;
 	let view, viewDocument, observer;
+	const oldEnvIsAndroid = env.isAndroid;
+
+	before( () => {
+		env.isAndroid = true;
+	} );
 
 
 	beforeEach( () => {
 	beforeEach( () => {
 		view = new View();
 		view = new View();
@@ -19,6 +25,10 @@ describe( 'InputObserver', () => {
 		view.destroy();
 		view.destroy();
 	} );
 	} );
 
 
+	after( () => {
+		env.isAndroid = oldEnvIsAndroid;
+	} );
+
 	it( 'should define domEventType', () => {
 	it( 'should define domEventType', () => {
 		expect( observer.domEventType ).to.contains( 'beforeinput' );
 		expect( observer.domEventType ).to.contains( 'beforeinput' );
 	} );
 	} );

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

@@ -27,9 +27,10 @@ import createViewRoot from '../_utils/createroot';
 import createElement from '@ckeditor/ckeditor5-utils/src/dom/createelement';
 import createElement from '@ckeditor/ckeditor5-utils/src/dom/createelement';
 import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
 import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
 import { expectToThrowCKEditorError } from '@ckeditor/ckeditor5-utils/tests/_utils/utils';
 import { expectToThrowCKEditorError } from '@ckeditor/ckeditor5-utils/tests/_utils/utils';
+import env from '@ckeditor/ckeditor5-utils/src/env';
 
 
 describe( 'view', () => {
 describe( 'view', () => {
-	const DEFAULT_OBSERVERS_COUNT = 7;
+	const DEFAULT_OBSERVERS_COUNT = 6;
 	let domRoot, view, viewDocument, ObserverMock, instantiated, enabled, ObserverMockGlobalCount;
 	let domRoot, view, viewDocument, ObserverMock, instantiated, enabled, ObserverMockGlobalCount;
 
 
 	testUtils.createSinonSandbox();
 	testUtils.createSinonSandbox();
@@ -86,7 +87,17 @@ describe( 'view', () => {
 		expect( view.getObserver( KeyObserver ) ).to.be.instanceof( KeyObserver );
 		expect( view.getObserver( KeyObserver ) ).to.be.instanceof( KeyObserver );
 		expect( view.getObserver( FakeSelectionObserver ) ).to.be.instanceof( FakeSelectionObserver );
 		expect( view.getObserver( FakeSelectionObserver ) ).to.be.instanceof( FakeSelectionObserver );
 		expect( view.getObserver( CompositionObserver ) ).to.be.instanceof( CompositionObserver );
 		expect( view.getObserver( CompositionObserver ) ).to.be.instanceof( CompositionObserver );
-		expect( view.getObserver( InputObserver ) ).to.be.instanceof( InputObserver );
+	} );
+
+	it( 'should add InputObserver on Android devices', () => {
+		const oldEnvIsAndroid = env.isAndroid;
+		env.isAndroid = true;
+
+		const newView = new View();
+		expect( newView.getObserver( InputObserver ) ).to.be.instanceof( InputObserver );
+
+		env.isAndroid = oldEnvIsAndroid;
+		newView.destroy();
 	} );
 	} );
 
 
 	describe( 'attachDomRoot()', () => {
 	describe( 'attachDomRoot()', () => {