@@ -183,6 +183,43 @@ $.each([
183
183
start ( ) ;
184
184
} , 1 ) ;
185
185
} ) ;
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
+ } ) ;
186
223
} ) ;
187
224
188
225
} ) ( jQuery ) ;
0 commit comments