File tree 2 files changed +34
-1
lines changed
2 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -219,7 +219,14 @@ function initMouseEvent(
219
219
button,
220
220
buttons,
221
221
relatedTarget,
222
- } : MouseEventInit & { x ?: number ; y ?: number } ,
222
+ offsetX,
223
+ offsetY,
224
+ pageX,
225
+ pageY,
226
+ } : MouseEventInit &
227
+ Partial <
228
+ Pick < MouseEvent , 'x' | 'y' | 'offsetX' | 'offsetY' | 'pageX' | 'pageY' >
229
+ > ,
223
230
) {
224
231
assignProps ( event , {
225
232
screenX : sanitizeNumber ( screenX ) ,
@@ -231,6 +238,10 @@ function initMouseEvent(
231
238
button : sanitizeNumber ( button ) ,
232
239
buttons : sanitizeNumber ( buttons ) ,
233
240
relatedTarget,
241
+ offsetX : sanitizeNumber ( offsetX ) ,
242
+ offsetY : sanitizeNumber ( offsetY ) ,
243
+ pageX : sanitizeNumber ( pageX ) ,
244
+ pageY : sanitizeNumber ( pageY ) ,
234
245
} )
235
246
}
236
247
Original file line number Diff line number Diff line change @@ -107,3 +107,25 @@ test('move touch over elements', async () => {
107
107
div - click: primary
108
108
` )
109
109
} )
110
+
111
+ test ( 'declare pointer coordinates' , async ( ) => {
112
+ const { element, getEvents, user} = setup ( `<div></div>` )
113
+
114
+ const coords : Partial < MouseEvent > = {
115
+ x : 1 ,
116
+ y : 2 ,
117
+ offsetX : 3 ,
118
+ offsetY : 4 ,
119
+ pageX : 5 ,
120
+ pageY : 6 ,
121
+ screenX : 7 ,
122
+ screenY : 8 ,
123
+ }
124
+
125
+ await user . pointer ( { target : element , coords} )
126
+
127
+ // .toEqual(expect.objectContaining) yields a misleading diff
128
+ Object . entries ( coords ) . forEach ( ( [ prop , value ] ) => {
129
+ expect ( getEvents ( 'mouseover' ) [ 0 ] ) . toHaveProperty ( prop , value )
130
+ } )
131
+ } )
You can’t perform that action at this time.
0 commit comments