@@ -152,6 +152,9 @@ eventTypes.forEach(({ type, events, elementType, init }) => {
152
152
expect ( fireEvent [ eventName ] ( ref . current , init ) ) . toBe ( true )
153
153
154
154
expect ( spy ) . toHaveBeenCalledTimes ( 1 )
155
+ if ( init ) {
156
+ expect ( spy ) . toHaveBeenCalledWith ( expect . objectContaining ( init ) )
157
+ }
155
158
} )
156
159
} )
157
160
} )
@@ -164,9 +167,17 @@ test('onInput works', () => {
164
167
container : { firstChild : input }
165
168
} = render ( < input type = "text" onInput = { handler } /> )
166
169
167
- expect ( fireEvent . input ( input , { target : { value : 'a' } } ) ) . toBe ( true )
170
+ const targetProperties = { value : 'a' }
171
+ const otherProperties = { isComposing : true }
172
+ const init = {
173
+ target : targetProperties ,
174
+ ...otherProperties
175
+ }
176
+
177
+ expect ( fireEvent . input ( input , init ) ) . toBe ( true )
168
178
169
179
expect ( handler ) . toHaveBeenCalledTimes ( 1 )
180
+ expect ( handler ) . toHaveBeenCalledWith ( expect . objectContaining ( otherProperties ) )
170
181
} )
171
182
172
183
test ( 'calling `fireEvent` directly works too' , ( ) => {
@@ -176,14 +187,16 @@ test('calling `fireEvent` directly works too', () => {
176
187
container : { firstChild : button }
177
188
} = render ( < button onClick = { handler } /> )
178
189
179
- expect ( fireEvent (
180
- button ,
181
- new Event ( 'MouseEvent' , {
182
- bubbles : true ,
183
- cancelable : true ,
184
- button : 0
185
- } )
186
- ) ) . toBe ( true )
190
+ const event = new MouseEvent ( 'click' , {
191
+ bubbles : true ,
192
+ cancelable : true ,
193
+ button : 0
194
+ } )
195
+
196
+ expect ( fireEvent ( button , event ) ) . toBe ( true )
197
+
198
+ expect ( handler ) . toHaveBeenCalledTimes ( 1 )
199
+ expect ( handler ) . toHaveBeenCalledWith ( event )
187
200
} )
188
201
189
202
test ( '`fireEvent` returns false when prevented' , ( ) => {
0 commit comments