@@ -14,29 +14,22 @@ let ReactFeatureFlags;
14
14
let ReactDOM ;
15
15
let useKeyboardResponder ;
16
16
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
+ }
27
27
28
28
describe ( 'Keyboard event responder' , ( ) => {
29
29
let container ;
30
30
31
31
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 ( ) ;
40
33
container = document . createElement ( 'div' ) ;
41
34
document . body . appendChild ( container ) ;
42
35
} ) ;
@@ -66,7 +59,9 @@ describe('Keyboard event responder', () => {
66
59
} ) ;
67
60
68
61
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 ( ) ) ;
70
65
expect ( onKeyDown ) . not . toBeCalled ( ) ;
71
66
expect ( onKeyUp ) . not . toBeCalled ( ) ;
72
67
} ) ;
@@ -88,13 +83,7 @@ describe('Keyboard event responder', () => {
88
83
} ) ;
89
84
90
85
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' } ) ) ;
98
87
expect ( onKeyDown ) . toHaveBeenCalledTimes ( 1 ) ;
99
88
expect ( onKeyDown ) . toHaveBeenCalledWith (
100
89
expect . objectContaining ( { key : 'Q' , type : 'keydown' } ) ,
@@ -120,20 +109,9 @@ describe('Keyboard event responder', () => {
120
109
} ) ;
121
110
122
111
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' } ) ) ;
137
115
expect ( onKeyDown ) . toHaveBeenCalledTimes ( 1 ) ;
138
116
expect ( onKeyDown ) . toHaveBeenCalledWith (
139
117
expect . objectContaining ( { key : 'Q' , type : 'keydown' } ) ,
0 commit comments