@@ -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