@@ -87,7 +87,7 @@ asyncTest( "handle blur via click outside", function() {
87
87
} ) ;
88
88
} ) ;
89
89
90
- test ( "handle focus of menu with active item" , function ( ) {
90
+ asyncTest ( "handle focus of menu with active item" , function ( ) {
91
91
expect ( 1 ) ;
92
92
var element = $ ( "#menu1" ) . menu ( {
93
93
focus : function ( event ) {
@@ -96,11 +96,19 @@ test( "handle focus of menu with active item", function() {
96
96
} ) ;
97
97
98
98
log ( "focus" , true ) ;
99
- element . focus ( ) ;
100
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
101
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
102
- element . focus ( ) ;
103
- equal ( logOutput ( ) , "focus,0,1,2,2" , "current active item remains active" ) ;
99
+ element [ 0 ] . focus ( ) ;
100
+ setTimeout ( function ( ) {
101
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
102
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
103
+ element [ 0 ] . blur ( ) ;
104
+ setTimeout ( function ( ) {
105
+ element [ 0 ] . focus ( ) ;
106
+ setTimeout ( function ( ) {
107
+ equal ( logOutput ( ) , "focus,0,1,2,2" , "current active item remains active" ) ;
108
+ start ( ) ;
109
+ } ) ;
110
+ } ) ;
111
+ } ) ;
104
112
} ) ;
105
113
106
114
asyncTest ( "handle submenu auto collapse: mouseleave" , function ( ) {
@@ -162,7 +170,7 @@ asyncTest( "handle submenu auto collapse: mouseleave", function() {
162
170
} ) ;
163
171
164
172
165
- test ( "handle keyboard navigation on menu without scroll and without submenus" , function ( ) {
173
+ asyncTest ( "handle keyboard navigation on menu without scroll and without submenus" , function ( ) {
166
174
expect ( 12 ) ;
167
175
var element = $ ( "#menu1" ) . menu ( {
168
176
select : function ( event , ui ) {
@@ -174,54 +182,58 @@ test( "handle keyboard navigation on menu without scroll and without submenus",
174
182
} ) ;
175
183
176
184
log ( "keydown" , true ) ;
177
- element . focus ( ) ;
178
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
179
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
180
- equal ( logOutput ( ) , "keydown,0,1,2" , "Keydown DOWN" ) ;
185
+ element [ 0 ] . focus ( ) ;
186
+ setTimeout ( function ( ) {
187
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
188
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
189
+ equal ( logOutput ( ) , "keydown,0,1,2" , "Keydown DOWN" ) ;
181
190
182
- log ( "keydown" , true ) ;
183
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . UP } ) ;
184
- equal ( logOutput ( ) , "keydown,1" , "Keydown UP" ) ;
191
+ log ( "keydown" , true ) ;
192
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . UP } ) ;
193
+ equal ( logOutput ( ) , "keydown,1" , "Keydown UP" ) ;
185
194
186
- log ( "keydown" , true ) ;
187
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . LEFT } ) ;
188
- equal ( logOutput ( ) , "keydown" , "Keydown LEFT (no effect)" ) ;
195
+ log ( "keydown" , true ) ;
196
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . LEFT } ) ;
197
+ equal ( logOutput ( ) , "keydown" , "Keydown LEFT (no effect)" ) ;
189
198
190
- log ( "keydown" , true ) ;
191
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . RIGHT } ) ;
192
- equal ( logOutput ( ) , "keydown" , "Keydown RIGHT (no effect)" ) ;
199
+ log ( "keydown" , true ) ;
200
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . RIGHT } ) ;
201
+ equal ( logOutput ( ) , "keydown" , "Keydown RIGHT (no effect)" ) ;
193
202
194
- log ( "keydown" , true ) ;
195
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_DOWN } ) ;
196
- equal ( logOutput ( ) , "keydown,4" , "Keydown PAGE_DOWN" ) ;
203
+ log ( "keydown" , true ) ;
204
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_DOWN } ) ;
205
+ equal ( logOutput ( ) , "keydown,4" , "Keydown PAGE_DOWN" ) ;
197
206
198
- log ( "keydown" , true ) ;
199
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_DOWN } ) ;
200
- equal ( logOutput ( ) , "keydown" , "Keydown PAGE_DOWN (no effect)" ) ;
207
+ log ( "keydown" , true ) ;
208
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_DOWN } ) ;
209
+ equal ( logOutput ( ) , "keydown" , "Keydown PAGE_DOWN (no effect)" ) ;
201
210
202
- log ( "keydown" , true ) ;
203
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_UP } ) ;
204
- equal ( logOutput ( ) , "keydown,0" , "Keydown PAGE_UP" ) ;
211
+ log ( "keydown" , true ) ;
212
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_UP } ) ;
213
+ equal ( logOutput ( ) , "keydown,0" , "Keydown PAGE_UP" ) ;
205
214
206
- log ( "keydown" , true ) ;
207
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_UP } ) ;
208
- equal ( logOutput ( ) , "keydown" , "Keydown PAGE_UP (no effect)" ) ;
215
+ log ( "keydown" , true ) ;
216
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_UP } ) ;
217
+ equal ( logOutput ( ) , "keydown" , "Keydown PAGE_UP (no effect)" ) ;
209
218
210
- log ( "keydown" , true ) ;
211
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . END } ) ;
212
- equal ( logOutput ( ) , "keydown,4" , "Keydown END" ) ;
219
+ log ( "keydown" , true ) ;
220
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . END } ) ;
221
+ equal ( logOutput ( ) , "keydown,4" , "Keydown END" ) ;
213
222
214
- log ( "keydown" , true ) ;
215
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . HOME } ) ;
216
- equal ( logOutput ( ) , "keydown,0" , "Keydown HOME" ) ;
223
+ log ( "keydown" , true ) ;
224
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . HOME } ) ;
225
+ equal ( logOutput ( ) , "keydown,0" , "Keydown HOME" ) ;
217
226
218
- log ( "keydown" , true ) ;
219
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
220
- equal ( logOutput ( ) , "keydown" , "Keydown ESCAPE (no effect)" ) ;
227
+ log ( "keydown" , true ) ;
228
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
229
+ equal ( logOutput ( ) , "keydown" , "Keydown ESCAPE (no effect)" ) ;
221
230
222
- log ( "keydown" , true ) ;
223
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ENTER } ) ;
224
- equal ( logOutput ( ) , "keydown,Aberdeen" , "Keydown ENTER" ) ;
231
+ log ( "keydown" , true ) ;
232
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ENTER } ) ;
233
+ equal ( logOutput ( ) , "keydown,Aberdeen" , "Keydown ENTER" ) ;
234
+
235
+ start ( ) ;
236
+ } ) ;
225
237
} ) ;
226
238
227
239
asyncTest ( "handle keyboard navigation on menu without scroll and with submenus" , function ( ) {
@@ -344,7 +356,7 @@ asyncTest( "handle keyboard navigation on menu without scroll and with submenus"
344
356
}
345
357
} ) ;
346
358
347
- test ( "handle keyboard navigation on menu with scroll and without submenus" , function ( ) {
359
+ asyncTest ( "handle keyboard navigation on menu with scroll and without submenus" , function ( ) {
348
360
expect ( 14 ) ;
349
361
var element = $ ( "#menu3" ) . menu ( {
350
362
select : function ( event , ui ) {
@@ -356,63 +368,67 @@ test( "handle keyboard navigation on menu with scroll and without submenus", fun
356
368
} ) ;
357
369
358
370
log ( "keydown" , true ) ;
359
- element . focus ( ) ;
360
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
361
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
362
- equal ( logOutput ( ) , "keydown,0,1,2" , "Keydown DOWN" ) ;
371
+ element [ 0 ] . focus ( ) ;
372
+ setTimeout ( function ( ) {
373
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
374
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
375
+ equal ( logOutput ( ) , "keydown,0,1,2" , "Keydown DOWN" ) ;
363
376
364
- log ( "keydown" , true ) ;
365
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . UP } ) ;
366
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . UP } ) ;
367
- equal ( logOutput ( ) , "keydown,1,0" , "Keydown UP" ) ;
377
+ log ( "keydown" , true ) ;
378
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . UP } ) ;
379
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . UP } ) ;
380
+ equal ( logOutput ( ) , "keydown,1,0" , "Keydown UP" ) ;
368
381
369
- log ( "keydown" , true ) ;
370
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . LEFT } ) ;
371
- equal ( logOutput ( ) , "keydown" , "Keydown LEFT (no effect)" ) ;
382
+ log ( "keydown" , true ) ;
383
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . LEFT } ) ;
384
+ equal ( logOutput ( ) , "keydown" , "Keydown LEFT (no effect)" ) ;
372
385
373
- log ( "keydown" , true ) ;
374
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . RIGHT } ) ;
375
- equal ( logOutput ( ) , "keydown" , "Keydown RIGHT (no effect)" ) ;
386
+ log ( "keydown" , true ) ;
387
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . RIGHT } ) ;
388
+ equal ( logOutput ( ) , "keydown" , "Keydown RIGHT (no effect)" ) ;
376
389
377
- log ( "keydown" , true ) ;
378
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_DOWN } ) ;
379
- equal ( logOutput ( ) , "keydown,10" , "Keydown PAGE_DOWN" ) ;
390
+ log ( "keydown" , true ) ;
391
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_DOWN } ) ;
392
+ equal ( logOutput ( ) , "keydown,10" , "Keydown PAGE_DOWN" ) ;
380
393
381
- log ( "keydown" , true ) ;
382
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_DOWN } ) ;
383
- equal ( logOutput ( ) , "keydown,20" , "Keydown PAGE_DOWN" ) ;
394
+ log ( "keydown" , true ) ;
395
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_DOWN } ) ;
396
+ equal ( logOutput ( ) , "keydown,20" , "Keydown PAGE_DOWN" ) ;
384
397
385
- log ( "keydown" , true ) ;
386
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_UP } ) ;
387
- equal ( logOutput ( ) , "keydown,10" , "Keydown PAGE_UP" ) ;
398
+ log ( "keydown" , true ) ;
399
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_UP } ) ;
400
+ equal ( logOutput ( ) , "keydown,10" , "Keydown PAGE_UP" ) ;
388
401
389
- log ( "keydown" , true ) ;
390
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_UP } ) ;
391
- equal ( logOutput ( ) , "keydown,0" , "Keydown PAGE_UP" ) ;
402
+ log ( "keydown" , true ) ;
403
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_UP } ) ;
404
+ equal ( logOutput ( ) , "keydown,0" , "Keydown PAGE_UP" ) ;
392
405
393
- log ( "keydown" , true ) ;
394
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_UP } ) ;
395
- equal ( logOutput ( ) , "keydown" , "Keydown PAGE_UP (no effect)" ) ;
406
+ log ( "keydown" , true ) ;
407
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_UP } ) ;
408
+ equal ( logOutput ( ) , "keydown" , "Keydown PAGE_UP (no effect)" ) ;
396
409
397
- log ( "keydown" , true ) ;
398
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . END } ) ;
399
- equal ( logOutput ( ) , "keydown,37" , "Keydown END" ) ;
410
+ log ( "keydown" , true ) ;
411
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . END } ) ;
412
+ equal ( logOutput ( ) , "keydown,37" , "Keydown END" ) ;
400
413
401
- log ( "keydown" , true ) ;
402
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_DOWN } ) ;
403
- equal ( logOutput ( ) , "keydown" , "Keydown PAGE_DOWN (no effect)" ) ;
414
+ log ( "keydown" , true ) ;
415
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . PAGE_DOWN } ) ;
416
+ equal ( logOutput ( ) , "keydown" , "Keydown PAGE_DOWN (no effect)" ) ;
404
417
405
- log ( "keydown" , true ) ;
406
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . HOME } ) ;
407
- equal ( logOutput ( ) , "keydown,0" , "Keydown HOME" ) ;
418
+ log ( "keydown" , true ) ;
419
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . HOME } ) ;
420
+ equal ( logOutput ( ) , "keydown,0" , "Keydown HOME" ) ;
408
421
409
- log ( "keydown" , true ) ;
410
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
411
- equal ( logOutput ( ) , "keydown" , "Keydown ESCAPE (no effect)" ) ;
422
+ log ( "keydown" , true ) ;
423
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
424
+ equal ( logOutput ( ) , "keydown" , "Keydown ESCAPE (no effect)" ) ;
412
425
413
- log ( "keydown" , true ) ;
414
- element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ENTER } ) ;
415
- equal ( logOutput ( ) , "keydown,Aberdeen" , "Keydown ENTER" ) ;
426
+ log ( "keydown" , true ) ;
427
+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ENTER } ) ;
428
+ equal ( logOutput ( ) , "keydown,Aberdeen" , "Keydown ENTER" ) ;
429
+
430
+ start ( ) ;
431
+ } ) ;
416
432
} ) ;
417
433
418
434
asyncTest ( "handle keyboard navigation on menu with scroll and with submenus" , function ( ) {
@@ -561,7 +577,7 @@ asyncTest( "handle keyboard navigation and mouse click on menu with disabled ite
561
577
}
562
578
} ) ;
563
579
564
- test ( "handle keyboard navigation with spelling of menu items" , function ( ) {
580
+ asyncTest ( "handle keyboard navigation with spelling of menu items" , function ( ) {
565
581
expect ( 2 ) ;
566
582
var element = $ ( "#menu2" ) . menu ( {
567
583
focus : function ( event ) {
@@ -577,8 +593,9 @@ test( "handle keyboard navigation with spelling of menu items", function() {
577
593
equal ( logOutput ( ) , "keydown,0,1,3" , "Keydown focus Addyston by spelling the first 3 letters" ) ;
578
594
element . simulate ( "keydown" , { keyCode : 68 } ) ;
579
595
equal ( logOutput ( ) , "keydown,0,1,3,4" , "Keydown focus Delphi by repeating the 'd' again" ) ;
596
+ start ( ) ;
580
597
} ) ;
581
- element . focus ( ) ;
598
+ element [ 0 ] . focus ( ) ;
582
599
} ) ;
583
600
584
601
} ) ( jQuery ) ;
0 commit comments