@@ -670,7 +670,9 @@ QUnit.test( "handle keyboard navigation and mouse click on menu with dividers an
670670 element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
671671 element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
672672 element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
673- assert . equal ( logOutput ( ) , "keydown,3,4,7" , "Keydown focus skips divider and group label" ) ;
673+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
674+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
675+ assert . equal ( logOutput ( ) , "keydown,1,2,3,4,7" , "Keydown focus skips divider and group label" ) ;
674676 ready ( ) ;
675677 }
676678} ) ;
@@ -755,4 +757,26 @@ QUnit.test( "#10571: When typing in a menu, only menu-items should be focused",
755757 } ) ;
756758} ) ;
757759
760+ QUnit . test ( "#15157: Must not focus menu dividers with the keyboard" , function ( assert ) {
761+ var ready = assert . async ( ) ;
762+ assert . expect ( 6 ) ;
763+
764+ var element = $ ( "#menu-with-dividers" ) . menu ( {
765+ focus : function ( event , ui ) {
766+ assert . hasClasses ( ui . item , "ui-menu-item" , "Should have menu item class" ) ;
767+ log ( ui . item . text ( ) ) ;
768+ }
769+ } ) ;
770+
771+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
772+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
773+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
774+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . DOWN } ) ;
775+ element . simulate ( "keydown" , { keyCode : $ . ui . keyCode . UP } ) ;
776+ setTimeout ( function ( ) {
777+ assert . equal ( logOutput ( ) , "beginning,middle,end,beginning,end" , "Should wrap around items" ) ;
778+ ready ( ) ;
779+ } ) ;
780+ } ) ;
781+
758782} ) ;
0 commit comments