diff options
author | Alexander Schmitz <arschmitz@gmail.com> | 2015-08-24 08:59:13 -0400 |
---|---|---|
committer | Alexander Schmitz <arschmitz@gmail.com> | 2015-09-11 08:29:08 -0400 |
commit | 85ff5205605ad591af9e9848a78334ee44b2284e (patch) | |
tree | f0ada6587dde078d99c20c521819ec6eea599836 /tests/unit/menu/events.js | |
parent | a3a847f23a3ab7323df495fa81ad69e0b93196c4 (diff) | |
download | jquery-ui-85ff5205605ad591af9e9848a78334ee44b2284e.tar.gz jquery-ui-85ff5205605ad591af9e9848a78334ee44b2284e.zip |
Menu: Style updates
Ref #14246
Diffstat (limited to 'tests/unit/menu/events.js')
-rw-r--r-- | tests/unit/menu/events.js | 162 |
1 files changed, 82 insertions, 80 deletions
diff --git a/tests/unit/menu/events.js b/tests/unit/menu/events.js index 790e5912c..1500c3478 100644 --- a/tests/unit/menu/events.js +++ b/tests/unit/menu/events.js @@ -12,15 +12,15 @@ module( "menu: events", { setup: function() { testHelper.clearLog(); } -}); +} ); test( "handle click on menu", function() { expect( 1 ); - var element = $( "#menu1" ).menu({ + var element = $( "#menu1" ).menu( { select: function() { log(); } - }); + } ); log( "click", true ); click( element, "1" ); log( "afterclick" ); @@ -28,16 +28,16 @@ test( "handle click on menu", function() { click( element, "3" ); click( element, "1" ); equal( logOutput(), "click,1,afterclick,2,3,1", "Click order not valid." ); -}); +} ); test( "handle click on custom item menu", function() { expect( 1 ); - var element = $( "#menu5" ).menu({ + var element = $( "#menu5" ).menu( { select: function() { log(); }, menus: ".menu" - }); + } ); log( "click", true ); click( element, "1" ); log( "afterclick" ); @@ -45,75 +45,77 @@ test( "handle click on custom item menu", function() { click( element, "3" ); click( element, "1" ); equal( logOutput(), "click,1,afterclick,2,3,1", "Click order not valid." ); -}); +} ); asyncTest( "handle blur", function() { expect( 1 ); var blurHandled = false, - element = $( "#menu1" ).menu({ + element = $( "#menu1" ).menu( { blur: function( event ) { + // Ignore duplicate blur event fired by IE if ( !blurHandled ) { blurHandled = true; equal( event.type, "menublur", "blur event.type is 'menublur'" ); } } - }); + } ); click( element, "1" ); - setTimeout(function() { + setTimeout( function() { element.trigger( "blur" ); - setTimeout(function() { + setTimeout( function() { start(); }, 350 ); - }); -}); + } ); +} ); asyncTest( "handle blur via click outside", function() { expect( 1 ); var blurHandled = false, - element = $( "#menu1" ).menu({ + element = $( "#menu1" ).menu( { blur: function( event ) { + // Ignore duplicate blur event fired by IE if ( !blurHandled ) { blurHandled = true; equal( event.type, "menublur", "blur event.type is 'menublur'" ); } } - }); + } ); click( element, "1" ); - setTimeout(function() { - $( "<a>", { id: "remove"} ).appendTo( "body" ).trigger( "click" ); - setTimeout(function() { + setTimeout( function() { + $( "<a>", { id: "remove" } ).appendTo( "body" ).trigger( "click" ); + setTimeout( function() { start(); }, 350 ); - }); -}); + } ); +} ); asyncTest( "handle focus of menu with active item", function() { expect( 1 ); - var element = $( "#menu1" ).menu({ + var element = $( "#menu1" ).menu( { focus: function( event ) { log( $( event.target ).find( ".ui-menu-item-wrapper.ui-state-active" ).parent().index() ); } - }); + } ); log( "focus", true ); element[ 0 ].focus(); - setTimeout(function() { + setTimeout( function() { element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element[ 0 ].blur(); - setTimeout(function() { + setTimeout( function() { element[ 0 ].focus(); - setTimeout(function() { + setTimeout( function() { equal( logOutput(), "focus,0,1,2,2", "current active item remains active" ); start(); - }); - }); - }); -}); + } ); + } ); + } ); +} ); test( "handle mouseenter on nested menu item", function( assert ) { assert.expect( 8 ); @@ -186,12 +188,12 @@ asyncTest( "handle submenu auto collapse: mouseleave, default markup", function( element.find( "li:nth-child(7)" ).trigger( "mouseenter" ); setTimeout( menumouseleave1, 25 ); -}); +} ); asyncTest( "handle submenu auto collapse: mouseleave, custom markup", function() { expect( 4 ); $.ui.menu.prototype.delay = 1; - var element = $( "#menu5" ).menu({ menus: ".menu" }), + var element = $( "#menu5" ).menu( { menus: ".menu" } ), event = $.Event( "mouseenter" ); function menumouseleave1() { @@ -217,22 +219,22 @@ asyncTest( "handle submenu auto collapse: mouseleave, custom markup", function() element.find( ":nth-child(7)" ).trigger( "mouseenter" ); setTimeout( menumouseleave1, 25 ); -}); +} ); asyncTest( "handle keyboard navigation on menu without scroll and without submenus", function() { expect( 12 ); - var element = $( "#menu1" ).menu({ + var element = $( "#menu1" ).menu( { select: function( event, ui ) { log( $( ui.item[ 0 ] ).text() ); }, focus: function( event ) { log( $( event.target ).find( ".ui-menu-item-wrapper.ui-state-active" ).parent().index() ); } - }); + } ); log( "keydown", true ); element[ 0 ].focus(); - setTimeout(function() { + setTimeout( function() { element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equal( logOutput(), "keydown,0,1,2", "Keydown DOWN" ); @@ -282,19 +284,19 @@ asyncTest( "handle keyboard navigation on menu without scroll and without submen equal( logOutput(), "keydown,Aberdeen", "Keydown ENTER" ); start(); - }); -}); + } ); +} ); asyncTest( "handle keyboard navigation on menu without scroll and with submenus", function() { expect( 16 ); - var element = $( "#menu2" ).menu({ + var element = $( "#menu2" ).menu( { select: function( event, ui ) { - log( $( ui.item[0] ).text() ); + log( $( ui.item[ 0 ] ).text() ); }, focus: function( event ) { log( $( event.target ).find( ".ui-menu-item-wrapper.ui-state-active:last" ).parent().index() ); } - }); + } ); log( "keydown", true ); element.one( "menufocus", function() { @@ -302,7 +304,7 @@ asyncTest( "handle keyboard navigation on menu without scroll and with submenus" element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equal( logOutput(), "keydown,1,2", "Keydown DOWN" ); setTimeout( menukeyboard1 ); - }); + } ); element.trigger( "focus" ); function menukeyboard1() { @@ -322,7 +324,7 @@ asyncTest( "handle keyboard navigation on menu without scroll and with submenus" element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } ); - setTimeout(function() { + setTimeout( function() { equal( logOutput(), "keydown,1,2,3,4,0", "Keydown RIGHT (open submenu)" ); setTimeout( menukeyboard2 ); } ); @@ -403,22 +405,22 @@ asyncTest( "handle keyboard navigation on menu without scroll and with submenus" equal( logOutput(), "keydown,Ada", "Keydown ENTER (open submenu)" ); start(); } -}); +} ); asyncTest( "handle keyboard navigation on menu with scroll and without submenus", function() { expect( 14 ); - var element = $( "#menu3" ).menu({ + var element = $( "#menu3" ).menu( { select: function( event, ui ) { log( $( ui.item[ 0 ] ).text() ); }, focus: function( event ) { log( $( event.target ).find( ".ui-menu-item-wrapper.ui-state-active:last" ).parent().index() ); } - }); + } ); log( "keydown", true ); element[ 0 ].focus(); - setTimeout(function() { + setTimeout( function() { element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equal( logOutput(), "keydown,0,1,2", "Keydown DOWN" ); @@ -477,19 +479,19 @@ asyncTest( "handle keyboard navigation on menu with scroll and without submenus" equal( logOutput(), "keydown,Aberdeen", "Keydown ENTER" ); start(); - }); -}); + } ); +} ); asyncTest( "handle keyboard navigation on menu with scroll and with submenus", function() { expect( 14 ); - var element = $( "#menu4" ).menu({ + var element = $( "#menu4" ).menu( { select: function( event, ui ) { log( $( ui.item[ 0 ] ).text() ); }, focus: function( event ) { - log( $( event.target ).find( ".ui-menu-item-wrapper.ui-state-active:last" ).parent().index()); + log( $( event.target ).find( ".ui-menu-item-wrapper.ui-state-active:last" ).parent().index() ); } - }); + } ); log( "keydown", true ); element.one( "menufocus", function() { @@ -497,7 +499,7 @@ asyncTest( "handle keyboard navigation on menu with scroll and with submenus", f element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equal( logOutput(), "keydown,1,2", "Keydown DOWN" ); setTimeout( menukeyboard1 ); - }); + } ); element.trigger( "focus" ); function menukeyboard1() { @@ -573,18 +575,18 @@ asyncTest( "handle keyboard navigation on menu with scroll and with submenus", f start(); } -}); +} ); asyncTest( "handle keyboard navigation and mouse click on menu with disabled items", function() { expect( 6 ); - var element = $( "#menu6" ).menu({ + var element = $( "#menu6" ).menu( { select: function( event, ui ) { - log( $( ui.item[0] ).text() ); + log( $( ui.item[ 0 ] ).text() ); }, focus: function( event ) { - log( $( event.target ).find( ".ui-menu-item-wrapper.ui-state-active" ).parent().index()); + log( $( event.target ).find( ".ui-menu-item-wrapper.ui-state-active" ).parent().index() ); } - }); + } ); log( "keydown", true ); element.one( "menufocus", function() { @@ -592,7 +594,7 @@ asyncTest( "handle keyboard navigation and mouse click on menu with disabled ite element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } ); equal( logOutput(), "keydown,1", "Keydown focus but not select disabled item" ); setTimeout( menukeyboard1, 50 ); - }); + } ); element.trigger( "focus" ); function menukeyboard1() { @@ -624,19 +626,19 @@ asyncTest( "handle keyboard navigation and mouse click on menu with disabled ite }, 50 ); }, 50 ); } -}); +} ); asyncTest( "handle keyboard navigation and mouse click on menu with dividers and group labels", function() { expect( 2 ); - var element = $( "#menu7" ).menu({ + var element = $( "#menu7" ).menu( { items: "> :not('.ui-menu-group')", select: function( event, ui ) { - log( $( ui.item[0] ).text() ); + log( $( ui.item[ 0 ] ).text() ); }, focus: function( event ) { log( $( event.target ).find( ".ui-menu-item-wrapper.ui-state-active" ).parent().index() ); } - }); + } ); log( "keydown", true ); element.one( "menufocus", function() { @@ -644,7 +646,7 @@ asyncTest( "handle keyboard navigation and mouse click on menu with dividers and element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } ); equal( logOutput(), "keydown,2,Ada", "Keydown skips initial group label" ); setTimeout( menukeyboard1, 50 ); - }); + } ); element.trigger( "focus" ); function menukeyboard1() { @@ -655,15 +657,15 @@ asyncTest( "handle keyboard navigation and mouse click on menu with dividers and equal( logOutput(), "keydown,3,4,7", "Keydown focus skips divider and group label" ); start(); } -}); +} ); asyncTest( "handle keyboard navigation with spelling of menu items", function() { expect( 3 ); - var element = $( "#menu2" ).menu({ + var element = $( "#menu2" ).menu( { focus: function( event ) { log( $( event.target ).find( ".ui-menu-item-wrapper.ui-state-active" ).parent().index() ); } - }); + } ); log( "keydown", true ); element.one( "menufocus", function() { @@ -676,17 +678,17 @@ asyncTest( "handle keyboard navigation with spelling of menu items", function() element.simulate( "keydown", { keyCode: 83 } ); equal( logOutput(), "keydown,0,1,3,4,5", "Keydown focus Saarland ignoring leading space" ); start(); - }); + } ); element[ 0 ].focus(); -}); +} ); asyncTest( "Keep focus on selected item (see #10644)", function() { expect( 1 ); - var element = $( "#menu2" ).menu({ + var element = $( "#menu2" ).menu( { focus: function( event ) { log( $( event.target ).find( ".ui-menu-item-wrapper.ui-state-active" ).parent().index() ); } - }); + } ); log( "keydown", true ); element.one( "menufocus", function() { @@ -698,40 +700,40 @@ asyncTest( "Keep focus on selected item (see #10644)", function() { equal( logOutput(), "keydown,0,1,3,3,3", "Focus stays on 'Addyston', even after other options are eliminated" ); start(); - }); + } ); element[ 0 ].focus(); -}); +} ); test( "#9469: Stopping propagation in a select event should not suppress subsequent select events.", function() { expect( 1 ); - var element = $( "#menu1" ).menu({ + var element = $( "#menu1" ).menu( { select: function( event ) { log(); event.stopPropagation(); } - }); + } ); click( element, "1" ); click( element, "2" ); equal( logOutput(), "1,2", "Both select events were not triggered." ); -}); +} ); asyncTest( "#10571: When typing in a menu, only menu-items should be focused", function( assert ) { expect( 3 ); - var element = $( "#menu8" ).menu({ + var element = $( "#menu8" ).menu( { focus: function( event, ui ) { equal( ui.item.length, 1, "There should only be one match when filtering" ); assert.hasClasses( ui.item, "ui-menu-item" ); equal( ui.item.text(), "-Saarland", "element has correct text" ); } - }); + } ); - setTimeout(function() { + setTimeout( function() { element.menu( "widget" ).simulate( "keydown", { keyCode: "-".charCodeAt( 0 ) } ); start(); - }); -}); + } ); +} ); } ); |