@@ -12,6 +12,7 @@ describe('wrapFocus', () => {
1212 let spyInnerModal ;
1313 let spyButton0 ;
1414 let spyButton2 ;
15+ let tooltip ;
1516
1617 beforeEach ( ( ) => {
1718 node = document . createElement ( 'div' ) ;
@@ -39,6 +40,7 @@ describe('wrapFocus', () => {
3940 <div class="cds--tooltip" tabindex="0"></div>
4041 ` ;
4142 document . body . appendChild ( node ) ;
43+ tooltip = node . querySelector ( '.cds--tooltip' ) ;
4244 spyInnerModal = jest . spyOn ( node . querySelector ( '#inner-modal' ) , 'focus' ) ;
4345 spyButton0 = jest . spyOn ( node . querySelector ( '#button-0' ) , 'focus' ) ;
4446 spyButton2 = jest . spyOn ( node . querySelector ( '#button-2' ) , 'focus' ) ;
@@ -61,6 +63,7 @@ describe('wrapFocus', () => {
6163 node . parentNode . removeChild ( node ) ;
6264 node = null ;
6365 }
66+ tooltip = null ;
6467 } ) ;
6568
6669 it ( 'runs forward focus-wrap when following outer node is focused on' , ( ) => {
@@ -120,6 +123,21 @@ describe('wrapFocus', () => {
120123 expect ( spyButton2 ) . not . toHaveBeenCalled ( ) ;
121124 } ) ;
122125
126+ it ( 'respects prefix overrides when checking floating menus' , ( ) => {
127+ tooltip . className = 'bx--tooltip' ;
128+ wrapFocus ( {
129+ bodyNode : node . querySelector ( '#inner-modal' ) ,
130+ startSentinelNode : node . querySelector ( '#start-sentinel' ) ,
131+ endSentinelNode : node . querySelector ( '#end-sentinel' ) ,
132+ currentActiveNode : tooltip ,
133+ oldActiveNode : node . querySelector ( '#button-2' ) ,
134+ prefix : 'bx' ,
135+ } ) ;
136+ expect ( spyInnerModal ) . not . toHaveBeenCalled ( ) ;
137+ expect ( spyButton0 ) . not . toHaveBeenCalled ( ) ;
138+ expect ( spyButton2 ) . not . toHaveBeenCalled ( ) ;
139+ } ) ;
140+
123141 it ( 'uses inner modal node as a escape hatch for focusing for forward focus-wrap' , ( ) => {
124142 node . querySelector ( '#inner-modal' ) . innerHTML =
125143 `<div id="dummy-old-active-node"></div>` ;
0 commit comments