@@ -4,53 +4,51 @@ import {hasModifierKey} from './modifiers';
44describe ( 'keyboard modifiers' , ( ) => {
55 it ( 'should check whether the alt key is pressed' , ( ) => {
66 const event = createKeyboardEvent ( 'keydown' , 0 ) ;
7+ const altEvent = createKeyboardEvent ( 'keydown' , 0 , '' , undefined , { alt : true } ) ;
78
89 expect ( hasModifierKey ( event ) ) . toBe ( false ) ;
9- Object . defineProperty ( event , 'altKey' , { get : ( ) => true } ) ;
10- expect ( hasModifierKey ( event ) ) . toBe ( true ) ;
10+ expect ( hasModifierKey ( altEvent ) ) . toBe ( true ) ;
1111 } ) ;
1212
1313 it ( 'should check whether the shift key is pressed' , ( ) => {
1414 const event = createKeyboardEvent ( 'keydown' , 0 ) ;
15+ const shiftEvent = createKeyboardEvent ( 'keydown' , 0 , '' , undefined , { shift : true } ) ;
1516
1617 expect ( hasModifierKey ( event ) ) . toBe ( false ) ;
17- Object . defineProperty ( event , 'shiftKey' , { get : ( ) => true } ) ;
18- expect ( hasModifierKey ( event ) ) . toBe ( true ) ;
18+ expect ( hasModifierKey ( shiftEvent ) ) . toBe ( true ) ;
1919 } ) ;
2020
2121 it ( 'should check whether the meta key is pressed' , ( ) => {
2222 const event = createKeyboardEvent ( 'keydown' , 0 ) ;
23+ const metaEvent = createKeyboardEvent ( 'keydown' , 0 , '' , undefined , { meta : true } ) ;
2324
2425 expect ( hasModifierKey ( event ) ) . toBe ( false ) ;
25- Object . defineProperty ( event , 'metaKey' , { get : ( ) => true } ) ;
26- expect ( hasModifierKey ( event ) ) . toBe ( true ) ;
26+ expect ( hasModifierKey ( metaEvent ) ) . toBe ( true ) ;
2727 } ) ;
2828
2929 it ( 'should check whether the ctrl key is pressed' , ( ) => {
3030 const event = createKeyboardEvent ( 'keydown' , 0 ) ;
31+ const ctrlEvent = createKeyboardEvent ( 'keydown' , 0 , '' , undefined , { control : true } ) ;
3132
3233 expect ( hasModifierKey ( event ) ) . toBe ( false ) ;
33- Object . defineProperty ( event , 'ctrlKey' , { get : ( ) => true } ) ;
34- expect ( hasModifierKey ( event ) ) . toBe ( true ) ;
34+ expect ( hasModifierKey ( ctrlEvent ) ) . toBe ( true ) ;
3535 } ) ;
3636
3737 it ( 'should check if a particular modifier key is pressed' , ( ) => {
38- const event = createKeyboardEvent ( 'keydown' , 0 ) ;
39- Object . defineProperty ( event , 'ctrlKey' , { get : ( ) => true } ) ;
38+ const ctrlEvent = createKeyboardEvent ( 'keydown' , 0 , '' , undefined , { control : true } ) ;
39+ const ctrlAltEvent = createKeyboardEvent (
40+ 'keydown' , 0 , '' , undefined , { control : true , alt : true } ) ;
4041
41- expect ( hasModifierKey ( event , 'altKey' ) ) . toBe ( false ) ;
42- Object . defineProperty ( event , 'altKey' , { get : ( ) => true } ) ;
43- expect ( hasModifierKey ( event , 'altKey' ) ) . toBe ( true ) ;
42+ expect ( hasModifierKey ( ctrlEvent , 'altKey' ) ) . toBe ( false ) ;
43+ expect ( hasModifierKey ( ctrlAltEvent , 'altKey' ) ) . toBe ( true ) ;
4444 } ) ;
4545
4646 it ( 'should check if multiple specific modifier keys are pressed' , ( ) => {
47- const event = createKeyboardEvent ( 'keydown' , 0 ) ;
48- Object . defineProperty ( event , 'ctrlKey' , { get : ( ) => true } ) ;
47+ const ctrlEvent = createKeyboardEvent ( 'keydown' , 0 , '' , undefined , { control : true } ) ;
48+ const ctrlAltShiftEvent = createKeyboardEvent (
49+ 'keydown' , 0 , '' , undefined , { control : true , alt : true , shift : true } ) ;
4950
50- expect ( hasModifierKey ( event , 'altKey' , 'shiftKey' ) ) . toBe ( false ) ;
51- Object . defineProperty ( event , 'altKey' , { get : ( ) => true } ) ;
52- Object . defineProperty ( event , 'shiftKey' , { get : ( ) => true } ) ;
53- expect ( hasModifierKey ( event , 'altKey' , 'shiftKey' ) ) . toBe ( true ) ;
51+ expect ( hasModifierKey ( ctrlEvent , 'altKey' , 'shiftKey' ) ) . toBe ( false ) ;
52+ expect ( hasModifierKey ( ctrlAltShiftEvent , 'altKey' , 'shiftKey' ) ) . toBe ( true ) ;
5453 } ) ;
55-
5654} ) ;
0 commit comments