@@ -22,7 +22,8 @@ describe( 'KeyObserver', () => {
2222 } ) ;
2323
2424 it ( 'should define domEventType' , ( ) => {
25- expect ( observer . domEventType ) . to . equal ( 'keydown' ) ;
25+ expect ( observer . domEventType ) . to . contains ( 'keydown' ) ;
26+ expect ( observer . domEventType ) . to . contains ( 'keyup' ) ;
2627 } ) ;
2728
2829 describe ( 'onDomEvent' , ( ) => {
@@ -31,7 +32,15 @@ describe( 'KeyObserver', () => {
3132
3233 viewDocument . on ( 'keydown' , spy ) ;
3334
34- observer . onDomEvent ( { target : document . body , keyCode : 111 , altKey : false , ctrlKey : false , metaKey : false , shiftKey : false } ) ;
35+ observer . onDomEvent ( {
36+ type : 'keydown' ,
37+ target : document . body ,
38+ keyCode : 111 ,
39+ altKey : false ,
40+ ctrlKey : false ,
41+ metaKey : false ,
42+ shiftKey : false
43+ } ) ;
3544
3645 expect ( spy . calledOnce ) . to . be . true ;
3746
@@ -52,7 +61,15 @@ describe( 'KeyObserver', () => {
5261
5362 viewDocument . on ( 'keydown' , spy ) ;
5463
55- observer . onDomEvent ( { target : document . body , keyCode : 111 , altKey : true , ctrlKey : true , metaKey : false , shiftKey : true } ) ;
64+ observer . onDomEvent ( {
65+ type : 'keydown' ,
66+ target : document . body ,
67+ keyCode : 111 ,
68+ altKey : true ,
69+ ctrlKey : true ,
70+ metaKey : false ,
71+ shiftKey : true
72+ } ) ;
5673
5774 const data = spy . args [ 0 ] [ 1 ] ;
5875 expect ( data ) . to . have . property ( 'keyCode' , 111 ) ;
@@ -70,10 +87,39 @@ describe( 'KeyObserver', () => {
7087
7188 viewDocument . on ( 'keydown' , spy ) ;
7289
73- observer . onDomEvent ( { target : document . body , keyCode : 111 , metaKey : true } ) ;
90+ observer . onDomEvent ( { type : 'keydown' , target : document . body , keyCode : 111 , metaKey : true } ) ;
7491
7592 const data = spy . args [ 0 ] [ 1 ] ;
7693 expect ( data ) . to . have . property ( 'ctrlKey' , true ) ;
7794 } ) ;
95+
96+ it ( 'should fire keyup with the target and key info' , ( ) => {
97+ const spy = sinon . spy ( ) ;
98+
99+ viewDocument . on ( 'keyup' , spy ) ;
100+
101+ observer . onDomEvent ( {
102+ type : 'keyup' ,
103+ target : document . body ,
104+ keyCode : 111 ,
105+ altKey : false ,
106+ ctrlKey : false ,
107+ metaKey : false ,
108+ shiftKey : false
109+ } ) ;
110+
111+ expect ( spy . calledOnce ) . to . be . true ;
112+
113+ const data = spy . args [ 0 ] [ 1 ] ;
114+ expect ( data ) . to . have . property ( 'domTarget' , document . body ) ;
115+ expect ( data ) . to . have . property ( 'keyCode' , 111 ) ;
116+ expect ( data ) . to . have . property ( 'altKey' , false ) ;
117+ expect ( data ) . to . have . property ( 'ctrlKey' , false ) ;
118+ expect ( data ) . to . have . property ( 'shiftKey' , false ) ;
119+ expect ( data ) . to . have . property ( 'keystroke' , getCode ( data ) ) ;
120+
121+ // Just to be sure.
122+ expect ( getCode ( data ) ) . to . equal ( 111 ) ;
123+ } ) ;
78124 } ) ;
79125} ) ;
0 commit comments