Skip to content

Commit a156c2c

Browse files
committed
Selectmenu tests: check item focus
1 parent 34e10c1 commit a156c2c

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

tests/unit/selectmenu/selectmenu_core.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,43 @@ $.each([
183183
start();
184184
}, 1 );
185185
});
186+
187+
asyncTest( "item focus - " + settings.type, function () {
188+
expect( 4 );
189+
190+
var element = $( settings.selector ).selectmenu(),
191+
button = element.selectmenu( "widget" ),
192+
menu = element.selectmenu( "menuWidget" ),
193+
links, activeItem, focusedItem;
194+
195+
// init menu
196+
button.simulate( "focus" );
197+
198+
setTimeout(function() {
199+
links = menu.find( "li.ui-menu-item a" );
200+
201+
button.trigger( "click" );
202+
focusedItem = menu.find( "li.ui-menu-item a.ui-state-focus" );
203+
equal( focusedItem.length, 1, "only one item has focus after first opening" );
204+
equal( focusedItem.attr( "id" ), links.eq( element[ 0 ].selectedIndex ).attr( "id" ), "active item has focus after first opening" );
205+
206+
links.eq( 3 ).simulate( "mouseover" ).trigger( "click" );
207+
208+
button.trigger( "click" );
209+
links.eq( 2 ).simulate( "mouseover" );
210+
$( document ).trigger( "click" );
211+
212+
button.trigger( "click" );
213+
links.eq( 1 ).simulate( "mouseover" );
214+
$( document ).trigger( "click" );
215+
216+
button.trigger( "click" );
217+
focusedItem = menu.find( "li.ui-menu-item a.ui-state-focus" );
218+
equal( focusedItem.length, 1, "only one item has focus" );
219+
equal( focusedItem.attr( "id" ), links.eq( element[ 0 ].selectedIndex ).attr( "id" ), "active item has focus" );
220+
start();
221+
}, 1 );
222+
});
186223
});
187224

188225
})( jQuery );

0 commit comments

Comments
 (0)