@@ -443,6 +443,36 @@ test('{enter} on a button', () => {
443
443
` )
444
444
} )
445
445
446
+ test ( '{enter} with preventDefault on a button' , ( ) => {
447
+ const { element, getEventSnapshot} = setup ( '<button />' , {
448
+ eventHandlers : {
449
+ keyDown : e => e . preventDefault ( ) ,
450
+ } ,
451
+ } )
452
+
453
+ userEvent . type ( element , '{enter}' )
454
+
455
+ expect ( getEventSnapshot ( ) ) . toMatchInlineSnapshot ( `
456
+ Events fired on: button
457
+
458
+ button - pointerover
459
+ button - pointerenter
460
+ button - mouseover: Left (0)
461
+ button - mouseenter: Left (0)
462
+ button - pointermove
463
+ button - mousemove: Left (0)
464
+ button - pointerdown
465
+ button - mousedown: Left (0)
466
+ button - focus
467
+ button - focusin
468
+ button - pointerup
469
+ button - mouseup: Left (0)
470
+ button - click: Left (0)
471
+ button - keydown: Enter (13)
472
+ button - keyup: Enter (13)
473
+ ` )
474
+ } )
475
+
446
476
test ( '{space} on a button' , ( ) => {
447
477
const { element, getEventSnapshot} = setup ( '<button />' )
448
478
@@ -471,6 +501,34 @@ test('{space} on a button', () => {
471
501
` )
472
502
} )
473
503
504
+ test ( `' ' on a button is the same as '{space}'` , ( ) => {
505
+ const { element, getEventSnapshot} = setup ( '<button />' )
506
+
507
+ userEvent . type ( element , ' ' )
508
+
509
+ expect ( getEventSnapshot ( ) ) . toMatchInlineSnapshot ( `
510
+ Events fired on: button
511
+
512
+ button - pointerover
513
+ button - pointerenter
514
+ button - mouseover: Left (0)
515
+ button - mouseenter: Left (0)
516
+ button - pointermove
517
+ button - mousemove: Left (0)
518
+ button - pointerdown
519
+ button - mousedown: Left (0)
520
+ button - focus
521
+ button - focusin
522
+ button - pointerup
523
+ button - mouseup: Left (0)
524
+ button - click: Left (0)
525
+ button - keydown: (32)
526
+ button - keypress: (32)
527
+ button - keyup: (32)
528
+ button - click: Left (0)
529
+ ` )
530
+ } )
531
+
474
532
test ( '{space} with preventDefault keydown on button' , ( ) => {
475
533
const { element, getEventSnapshot} = setup ( '<button />' , {
476
534
eventHandlers : {
@@ -498,14 +556,17 @@ test('{space} with preventDefault keydown on button', () => {
498
556
button - click: Left (0)
499
557
button - keydown: (32)
500
558
button - keyup: (32)
501
- button - click: Left (0)
502
559
` )
503
560
} )
504
561
505
- test ( `' ' on a button` , ( ) => {
506
- const { element, getEventSnapshot} = setup ( '<button />' )
562
+ test ( '{space} with preventDefault keyup on button' , ( ) => {
563
+ const { element, getEventSnapshot} = setup ( '<button />' , {
564
+ eventHandlers : {
565
+ keyUp : e => e . preventDefault ( ) ,
566
+ } ,
567
+ } )
507
568
508
- userEvent . type ( element , ' ' )
569
+ userEvent . type ( element , '{space} ' )
509
570
510
571
expect ( getEventSnapshot ( ) ) . toMatchInlineSnapshot ( `
511
572
Events fired on: button
@@ -526,7 +587,6 @@ test(`' ' on a button`, () => {
526
587
button - keydown: (32)
527
588
button - keypress: (32)
528
589
button - keyup: (32)
529
- button - click: Left (0)
530
590
` )
531
591
} )
532
592
@@ -559,7 +619,7 @@ test('{space} on an input', () => {
559
619
` )
560
620
} )
561
621
562
- test ( '{enter} on an input type="color"' , ( ) => {
622
+ test ( '{enter} on an input type="color" fires same events as a button ' , ( ) => {
563
623
const { element, getEventSnapshot} = setup (
564
624
`<input value="#ffffff" type="color" />` ,
565
625
)
@@ -589,7 +649,7 @@ test('{enter} on an input type="color"', () => {
589
649
` )
590
650
} )
591
651
592
- test ( '{space} on an input type="color"' , ( ) => {
652
+ test ( '{space} on an input type="color" fires same events as a button ' , ( ) => {
593
653
const { element, getEventSnapshot} = setup (
594
654
`<input value="#ffffff" type="color" />` ,
595
655
)
@@ -619,7 +679,7 @@ test('{space} on an input type="color"', () => {
619
679
` )
620
680
} )
621
681
622
- test ( '" " on an input type="color"' , ( ) => {
682
+ test ( `' ' on input type="color" is the same as '{space}'` , ( ) => {
623
683
const { element, getEventSnapshot} = setup (
624
684
`<input value="#ffffff" type="color" />` ,
625
685
)
0 commit comments