@@ -14,29 +14,22 @@ let ReactFeatureFlags;
1414let ReactDOM ;
1515let useKeyboardResponder ;
1616
17- const createEvent = ( type , data ) => {
18- const event = document . createEvent ( 'CustomEvent' ) ;
19- event . initCustomEvent ( type , true , true ) ;
20- if ( data != null ) {
21- Object . entries ( data ) . forEach ( ( [ key , value ] ) => {
22- event [ key ] = value ;
23- } ) ;
24- }
25- return event ;
26- } ;
17+ import { keydown , keyup } from '../test-utils' ;
18+
19+ function initializeModules ( hasPointerEvents ) {
20+ jest . resetModules ( ) ;
21+ ReactFeatureFlags = require ( 'shared/ReactFeatureFlags' ) ;
22+ ReactFeatureFlags . enableFlareAPI = true ;
23+ React = require ( 'react' ) ;
24+ ReactDOM = require ( 'react-dom' ) ;
25+ useKeyboardResponder = require ( 'react-events/keyboard' ) . useKeyboardResponder ;
26+ }
2727
2828describe ( 'Keyboard event responder' , ( ) => {
2929 let container ;
3030
3131 beforeEach ( ( ) => {
32- jest . resetModules ( ) ;
33- ReactFeatureFlags = require ( 'shared/ReactFeatureFlags' ) ;
34- ReactFeatureFlags . enableFlareAPI = true ;
35- React = require ( 'react' ) ;
36- ReactDOM = require ( 'react-dom' ) ;
37- useKeyboardResponder = require ( 'react-events/keyboard' )
38- . useKeyboardResponder ;
39-
32+ initializeModules ( ) ;
4033 container = document . createElement ( 'div' ) ;
4134 document . body . appendChild ( container ) ;
4235 } ) ;
@@ -66,7 +59,9 @@ describe('Keyboard event responder', () => {
6659 } ) ;
6760
6861 it ( 'prevents custom events being dispatched' , ( ) => {
69- ref . current . dispatchEvent ( createEvent ( 'scroll' ) ) ;
62+ const target = ref . current ;
63+ target . dispatchEvent ( keydown ( ) ) ;
64+ target . dispatchEvent ( keyup ( ) ) ;
7065 expect ( onKeyDown ) . not . toBeCalled ( ) ;
7166 expect ( onKeyUp ) . not . toBeCalled ( ) ;
7267 } ) ;
@@ -88,13 +83,7 @@ describe('Keyboard event responder', () => {
8883 } ) ;
8984
9085 it ( 'is called after "keydown" event' , ( ) => {
91- ref . current . dispatchEvent (
92- new KeyboardEvent ( 'keydown' , {
93- bubbles : true ,
94- cancelable : true ,
95- key : 'Q' ,
96- } ) ,
97- ) ;
86+ ref . current . dispatchEvent ( keydown ( { key : 'Q' } ) ) ;
9887 expect ( onKeyDown ) . toHaveBeenCalledTimes ( 1 ) ;
9988 expect ( onKeyDown ) . toHaveBeenCalledWith (
10089 expect . objectContaining ( { key : 'Q' , type : 'keydown' } ) ,
@@ -120,20 +109,9 @@ describe('Keyboard event responder', () => {
120109 } ) ;
121110
122111 it ( 'is called after "keydown" event' , ( ) => {
123- ref . current . dispatchEvent (
124- new KeyboardEvent ( 'keydown' , {
125- bubbles : true ,
126- cancelable : true ,
127- key : 'Q' ,
128- } ) ,
129- ) ;
130- ref . current . dispatchEvent (
131- new KeyboardEvent ( 'keyup' , {
132- bubbles : true ,
133- cancelable : true ,
134- key : 'Q' ,
135- } ) ,
136- ) ;
112+ const target = ref . current ;
113+ target . dispatchEvent ( keydown ( { key : 'Q' } ) ) ;
114+ target . dispatchEvent ( keyup ( { key : 'Q' } ) ) ;
137115 expect ( onKeyDown ) . toHaveBeenCalledTimes ( 1 ) ;
138116 expect ( onKeyDown ) . toHaveBeenCalledWith (
139117 expect . objectContaining ( { key : 'Q' , type : 'keydown' } ) ,
0 commit comments