@@ -8,26 +8,34 @@ describe('keyBindings', () => {
88 const altKey = true
99 const metaKey = true
1010
11+ const defaults = { ctrlKey : false , shiftKey : false , altKey : false , metaKey : false }
12+
1113 test ( 'keyComboFromEvent' , ( ) => {
12- strictEqual ( keyComboFromEvent ( { key : 'a' } ) , 'A' )
13- strictEqual ( keyComboFromEvent ( { key : 'A' } ) , 'A' )
14- strictEqual ( keyComboFromEvent ( { key : '=' } ) , '=' )
15- strictEqual ( keyComboFromEvent ( { shiftKey, key : '+' } ) , 'Shift++' )
16- strictEqual ( keyComboFromEvent ( { altKey, key : '=' } ) , 'Alt+=' )
17- strictEqual ( keyComboFromEvent ( { key : '-' } ) , '-' )
18- strictEqual ( keyComboFromEvent ( { shiftKey, key : '-' } ) , 'Shift+-' )
19- strictEqual ( keyComboFromEvent ( { ctrlKey, key : 'a' } ) , 'Ctrl+A' )
20- strictEqual ( keyComboFromEvent ( { metaKey, key : 'a' } ) , 'Ctrl+A' )
21- strictEqual ( keyComboFromEvent ( { shiftKey, key : 'a' } ) , 'Shift+A' )
22- strictEqual ( keyComboFromEvent ( { ctrlKey, shiftKey, key : 'a' } ) , 'Ctrl+Shift+A' )
23- strictEqual ( keyComboFromEvent ( { key : 'Control' } ) , '' ) // does not happen in practice
24- strictEqual ( keyComboFromEvent ( { ctrlKey, key : 'Control' } ) , 'Ctrl' )
14+ strictEqual ( keyComboFromEvent ( { ...defaults , key : 'a' } ) , 'A' )
15+ strictEqual ( keyComboFromEvent ( { ...defaults , key : 'A' } ) , 'A' )
16+ strictEqual ( keyComboFromEvent ( { ...defaults , key : '=' } ) , '=' )
17+ strictEqual ( keyComboFromEvent ( { ...defaults , shiftKey, key : '+' } ) , 'Shift++' )
18+ strictEqual ( keyComboFromEvent ( { ...defaults , altKey, key : '=' } ) , 'Alt+=' )
19+ strictEqual ( keyComboFromEvent ( { ...defaults , key : '-' } ) , '-' )
20+ strictEqual ( keyComboFromEvent ( { ...defaults , shiftKey, key : '-' } ) , 'Shift+-' )
21+ strictEqual ( keyComboFromEvent ( { ...defaults , ctrlKey, key : 'a' } ) , 'Ctrl+A' )
22+ strictEqual (
23+ keyComboFromEvent ( { ...defaults , metaKey, key : 'a' } , '+' , ( ) => true ) ,
24+ 'Ctrl+A'
25+ )
26+ strictEqual ( keyComboFromEvent ( { ...defaults , shiftKey, key : 'a' } ) , 'Shift+A' )
27+ strictEqual ( keyComboFromEvent ( { ...defaults , ctrlKey, shiftKey, key : 'a' } ) , 'Ctrl+Shift+A' )
28+ strictEqual ( keyComboFromEvent ( { ...defaults , key : 'Control' } ) , '' ) // does not happen in practice
29+ strictEqual ( keyComboFromEvent ( { ...defaults , ctrlKey, key : 'Control' } ) , 'Ctrl' )
2530 } )
2631
2732 test ( 'keyComboFromEvent with custom separator' , ( ) => {
2833 const separator = '///'
29- strictEqual ( keyComboFromEvent ( { key : 'a' } , separator ) , 'A' )
30- strictEqual ( keyComboFromEvent ( { ctrlKey, key : 'a' } , separator ) , 'Ctrl///A' )
31- strictEqual ( keyComboFromEvent ( { ctrlKey, shiftKey, key : 'A' } , separator ) , 'Ctrl///Shift///A' )
34+ strictEqual ( keyComboFromEvent ( { ...defaults , key : 'a' } , separator ) , 'A' )
35+ strictEqual ( keyComboFromEvent ( { ...defaults , ctrlKey, key : 'a' } , separator ) , 'Ctrl///A' )
36+ strictEqual (
37+ keyComboFromEvent ( { ...defaults , ctrlKey, shiftKey, key : 'A' } , separator ) ,
38+ 'Ctrl///Shift///A'
39+ )
3240 } )
3341} )
0 commit comments