@@ -39,6 +39,33 @@ describe('useHotKey', () => {
3939 expect ( mockCallback ) . not . toHaveBeenCalled ( )
4040 } )
4141
42+ it ( 'should not invoke callback by default, when a modal is shown' , ( ) => {
43+ const modal = document . createElement ( 'div' )
44+ modal . className = 'modal-mask'
45+ document . body . appendChild ( modal )
46+ modal . checkVisibility = ( ) => true
47+
48+ const stop = useHotKey ( true , mockCallback )
49+ triggerKeyDown ( { key : 'a' , code : 'KeyA' } )
50+ stop ( )
51+
52+ expect ( mockCallback ) . not . toHaveBeenCalled ( )
53+ } )
54+
55+ it ( 'should invoke callback by default, when a modal present but hidden' , ( ) => {
56+ const modal = document . createElement ( 'div' )
57+ modal . className = 'modal-mask'
58+ modal . style . display = 'none'
59+ document . body . appendChild ( modal )
60+ modal . checkVisibility = ( ) => false
61+
62+ const stop = useHotKey ( true , mockCallback )
63+ triggerKeyDown ( { key : 'a' , code : 'KeyA' } )
64+ stop ( )
65+
66+ expect ( mockCallback ) . toHaveBeenCalled ( )
67+ } )
68+
4269 describe ( 'options' , ( ) => {
4370 it ( 'should accept array of keys and invoke callback for all of them' , ( ) => {
4471 const stop = useHotKey ( [ 'a' , 'b' ] , mockCallback )
0 commit comments