inputobserver.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /**
  2. * @license Copyright (c) 2003-2019, 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. describe( 'InputObserver', () => {
  9. let view, viewDocument, observer;
  10. const oldEnvIsAndroid = env.isAndroid;
  11. before( () => {
  12. env.isAndroid = true;
  13. } );
  14. beforeEach( () => {
  15. view = new View();
  16. viewDocument = view.document;
  17. observer = view.getObserver( InputObserver );
  18. } );
  19. afterEach( () => {
  20. view.destroy();
  21. } );
  22. after( () => {
  23. env.isAndroid = oldEnvIsAndroid;
  24. } );
  25. it( 'should define domEventType', () => {
  26. expect( observer.domEventType ).to.contains( 'beforeinput' );
  27. } );
  28. it( 'should fire beforeinput with dom event data', () => {
  29. const spy = sinon.spy();
  30. viewDocument.on( 'beforeinput', spy );
  31. const domEvtData = {
  32. type: 'beforeinput'
  33. };
  34. observer.onDomEvent( domEvtData );
  35. expect( spy.calledOnce ).to.be.true;
  36. expect( spy.args[ 0 ][ 1 ].domEvent ).to.equal( domEvtData );
  37. } );
  38. } );