8
0

inputobserver.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /**
  2. * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
  4. */
  5. import InputObserver from '../../../src/view/observer/inputobserver';
  6. import View from '../../../src/view/view';
  7. import env from '@ckeditor/ckeditor5-utils/src/env';
  8. import { StylesProcessor } from '../../../src/view/stylesmap';
  9. describe( 'InputObserver', () => {
  10. const oldEnvIsAndroid = env.isAndroid;
  11. let view, viewDocument, observer, stylesProcessor;
  12. before( () => {
  13. env.isAndroid = true;
  14. } );
  15. beforeEach( () => {
  16. stylesProcessor = new StylesProcessor();
  17. view = new View( stylesProcessor );
  18. viewDocument = view.document;
  19. observer = view.getObserver( InputObserver );
  20. } );
  21. afterEach( () => {
  22. view.destroy();
  23. } );
  24. after( () => {
  25. env.isAndroid = oldEnvIsAndroid;
  26. } );
  27. it( 'should define domEventType', () => {
  28. expect( observer.domEventType ).to.contains( 'beforeinput' );
  29. } );
  30. it( 'should fire beforeinput with dom event data', () => {
  31. const spy = sinon.spy();
  32. viewDocument.on( 'beforeinput', spy );
  33. const domEvtData = {
  34. type: 'beforeinput'
  35. };
  36. observer.onDomEvent( domEvtData );
  37. expect( spy.calledOnce ).to.be.true;
  38. expect( spy.args[ 0 ][ 1 ].domEvent ).to.equal( domEvtData );
  39. } );
  40. } );