1
1
import { userEvent } from '../../'
2
2
import { setup , addEventListener , addListeners } from './helpers/utils'
3
3
4
- /*
5
- button#button[value=""] pointerover
6
- button#button[value=""] pointerenter
7
- button#button[value=""] mouseover
8
- button#button[value=""] mouseenter
9
- button#button[value=""] pointermove
10
- button#button[value=""] mousemove
11
-
12
- button#button[value=""] pointerdown
13
- button#button[value=""] mousedown
14
- button#button[value=""] focus
15
- button#button[value=""] focusin
16
- button#button[value=""] pointerup
17
- button#button[value=""] mouseup
18
- button#button[value=""] click
19
-
20
- button#button[value=""] pointerdown
21
- button#button[value=""] mousedown
22
- button#button[value=""] pointerup
23
- button#button[value=""] mouseup
24
- button#button[value=""] click
25
- button#button[value=""] dblclick
26
-
27
- */
28
4
test ( 'fires the correct events on buttons' , async ( ) => {
29
5
const { element, getEventSnapshot} = setup ( '<button />' )
30
6
await userEvent . dblClick ( element )
@@ -37,18 +13,41 @@ test('fires the correct events on buttons', async () => {
37
13
button - mouseenter: Left (0)
38
14
button - pointermove
39
15
button - mousemove: Left (0)
16
+ button - pointerdown
40
17
button - mousedown: Left (0)
41
18
button - focus
42
19
button - focusin
20
+ button - pointerup
43
21
button - mouseup: Left (0)
44
22
button - click: Left (0)
23
+ button - pointerdown
45
24
button - mousedown: Left (0)
25
+ button - pointerup
46
26
button - mouseup: Left (0)
47
27
button - click: Left (0)
48
28
button - dblclick: Left (0)
49
29
` )
50
30
} )
51
31
32
+ /*
33
+ input[checked=false] - pointerdown
34
+ input[checked=false] - mousedown
35
+ input[checked=false] - focus
36
+ input[checked=false] - focusin
37
+ input[checked=false] - pointerup
38
+ input[checked=false] - mouseup
39
+ input[checked=true] - click
40
+ input[checked=true] - input
41
+ input[checked=true] - change
42
+ input[checked=true] - pointerdown
43
+ input[checked=true] - mousedown
44
+ input[checked=true] - pointerup
45
+ input[checked=true] - mouseup
46
+ input[checked=false] - click
47
+ input[checked=false] - input
48
+ input[checked=false] - change
49
+ input[checked=false] - dblclick
50
+ */
52
51
test ( 'fires the correct events on checkboxes' , async ( ) => {
53
52
const { element, getEventSnapshot} = setup ( '<input type="checkbox" />' )
54
53
await userEvent . dblClick ( element )
@@ -61,22 +60,25 @@ test('fires the correct events on checkboxes', async () => {
61
60
input[checked=false] - mouseenter: Left (0)
62
61
input[checked=false] - pointermove
63
62
input[checked=false] - mousemove: Left (0)
64
- input[checked=false] - mouseover: Left (0)
65
- input[checked=false] - mousemove: Left (0)
63
+ input[checked=false] - pointerdown
66
64
input[checked=false] - mousedown: Left (0)
67
65
input[checked=false] - focus
68
66
input[checked=false] - focusin
67
+ input[checked=false] - pointerup
69
68
input[checked=false] - mouseup: Left (0)
70
69
input[checked=true] - click: Left (0)
71
70
unchecked -> checked
72
71
input[checked=true] - input
73
72
input[checked=true] - change
73
+ input[checked=true] - pointerdown
74
74
input[checked=true] - mousedown: Left (0)
75
+ input[checked=true] - pointerup
75
76
input[checked=true] - mouseup: Left (0)
76
77
input[checked=false] - click: Left (0)
77
78
checked -> unchecked
78
79
input[checked=false] - input
79
80
input[checked=false] - change
81
+ input[checked=false] - dblclick: Left (0)
80
82
` )
81
83
} )
82
84
@@ -92,12 +94,16 @@ test('fires the correct events on regular inputs', async () => {
92
94
input[value=""] - mouseenter: Left (0)
93
95
input[value=""] - pointermove
94
96
input[value=""] - mousemove: Left (0)
97
+ input[value=""] - pointerdown
95
98
input[value=""] - mousedown: Left (0)
96
99
input[value=""] - focus
97
100
input[value=""] - focusin
101
+ input[value=""] - pointerup
98
102
input[value=""] - mouseup: Left (0)
99
103
input[value=""] - click: Left (0)
104
+ input[value=""] - pointerdown
100
105
input[value=""] - mousedown: Left (0)
106
+ input[value=""] - pointerup
101
107
input[value=""] - mouseup: Left (0)
102
108
input[value=""] - click: Left (0)
103
109
input[value=""] - dblclick: Left (0)
@@ -116,10 +122,14 @@ test('fires the correct events on divs', async () => {
116
122
div - mouseenter: Left (0)
117
123
div - pointermove
118
124
div - mousemove: Left (0)
125
+ div - pointerdown
119
126
div - mousedown: Left (0)
127
+ div - pointerup
120
128
div - mouseup: Left (0)
121
129
div - click: Left (0)
130
+ div - pointerdown
122
131
div - mousedown: Left (0)
132
+ div - pointerup
123
133
div - mouseup: Left (0)
124
134
div - click: Left (0)
125
135
div - dblclick: Left (0)
@@ -159,7 +169,7 @@ test('does not fire focus event if the element is already focused', async () =>
159
169
} )
160
170
161
171
test ( 'clicking an element in a label gives the control focus' , async ( ) => {
162
- const { element, getEventSnapshot } = setup ( `
172
+ const { element} = setup ( `
163
173
<div>
164
174
<label for="nested-input">
165
175
<span>nested</span>
@@ -168,23 +178,7 @@ test('clicking an element in a label gives the control focus', async () => {
168
178
</div>
169
179
` )
170
180
await userEvent . dblClick ( element . querySelector ( 'span' ) )
171
- expect ( getEventSnapshot ( ) ) . toMatchInlineSnapshot ( `
172
- Events fired on: div
173
-
174
- span - pointerover
175
- span - mouseover: Left (0)
176
- span - pointermove
177
- span - mousemove: Left (0)
178
- span - mousedown: Left (0)
179
- span - mouseup: Left (0)
180
- span - click: Left (0)
181
- input#nested-input[value=""] - click: Left (0)
182
- span - mousedown: Left (0)
183
- span - mouseup: Left (0)
184
- span - click: Left (0)
185
- input#nested-input[value=""] - click: Left (0)
186
- span - dblclick: Left (0)
187
- ` )
181
+ expect ( element . querySelector ( 'input' ) ) . toHaveFocus ( )
188
182
} )
189
183
190
184
test ( 'does not blur the previous element when mousedown prevents default' , async ( ) => {
@@ -220,10 +214,14 @@ test('fires mouse events with the correct properties', async () => {
220
214
mouseenter - button=0; buttons=0; detail=0
221
215
pointermove
222
216
mousemove - button=0; buttons=0; detail=0
217
+ pointerdown
223
218
mousedown - button=0; buttons=1; detail=1
219
+ pointerup
224
220
mouseup - button=0; buttons=1; detail=1
225
221
click - button=0; buttons=1; detail=1
222
+ pointerdown
226
223
mousedown - button=0; buttons=1; detail=2
224
+ pointerup
227
225
mouseup - button=0; buttons=1; detail=2
228
226
click - button=0; buttons=1; detail=2
229
227
dblclick - button=0; buttons=1; detail=2
@@ -243,10 +241,14 @@ test('fires mouse events with custom button property', async () => {
243
241
mouseenter - button=0; buttons=0; detail=0
244
242
pointermove
245
243
mousemove - button=0; buttons=0; detail=0
244
+ pointerdown
246
245
mousedown - button=1; buttons=4; detail=1
246
+ pointerup
247
247
mouseup - button=1; buttons=4; detail=1
248
248
click - button=1; buttons=4; detail=1
249
+ pointerdown
249
250
mousedown - button=1; buttons=4; detail=2
251
+ pointerup
250
252
mouseup - button=1; buttons=4; detail=2
251
253
click - button=1; buttons=4; detail=2
252
254
dblclick - button=1; buttons=4; detail=2
@@ -265,10 +267,14 @@ test('fires mouse events with custom buttons property', async () => {
265
267
mouseenter - button=0; buttons=0; detail=0
266
268
pointermove
267
269
mousemove - button=0; buttons=0; detail=0
270
+ pointerdown
268
271
mousedown - button=1; buttons=4; detail=1
272
+ pointerup
269
273
mouseup - button=1; buttons=4; detail=1
270
274
click - button=1; buttons=4; detail=1
275
+ pointerdown
271
276
mousedown - button=1; buttons=4; detail=2
277
+ pointerup
272
278
mouseup - button=1; buttons=4; detail=2
273
279
click - button=1; buttons=4; detail=2
274
280
dblclick - button=1; buttons=4; detail=2
0 commit comments