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