]> source.dussan.org Git - jquery-ui.git/commitdiff
Menu: Added unit tests for the enable, disable and refresh methods as well as the...
authorkborchers <kris.borchers@gmail.com>
Sun, 22 Jan 2012 17:26:41 +0000 (11:26 -0600)
committerkborchers <kris.borchers@gmail.com>
Sun, 22 Jan 2012 17:26:41 +0000 (11:26 -0600)
tests/unit/menu/menu_core.js
tests/unit/menu/menu_events.js
tests/unit/menu/menu_methods.js
tests/unit/menu/menu_options.js

index c0feae75c7728ba80703fe4e68ab50d6f9e29a6e..bccf4a1f205dce8640209a24bb7d6b2fde44b991 100644 (file)
@@ -9,27 +9,27 @@ module("menu: core");
 
 test("accessibility", function () {
        expect(5);
-       var ac = $('#menu1').menu();
+       var menu = $('#menu1').menu();
        var item0 = $("li:eq(0) a");
 
-       ok( ac.hasClass("ui-menu ui-widget ui-widget-content ui-corner-all"), "menu class");
-       equals( ac.attr("role"), "menu", "main role");
-       ok( !ac.attr("aria-activedescendant"), "aria attribute not yet active");
+       ok( menu.hasClass("ui-menu ui-widget ui-widget-content ui-corner-all"), "menu class");
+       equals( menu.attr("role"), "menu", "main role");
+       ok( !menu.attr("aria-activedescendant"), "aria attribute not yet active");
 
-       var item = ac.find( "li:first" ).find( "a" ).attr( "id", "xid" ).end();
-       ac.menu( "focus", $.Event(), item );
-       equals( ac.attr("aria-activedescendant"), "xid", "aria attribute, id from dom");
+       var item = menu.find( "li:first" ).find( "a" ).attr( "id", "xid" ).end();
+       menu.menu( "focus", $.Event(), item );
+       equals( menu.attr("aria-activedescendant"), "xid", "aria attribute, id from dom");
 
-       var item = ac.find( "li:last" );
-       ac.menu( "focus", $.Event(), item );
-       equals( ac.attr("aria-activedescendant"), "menu1-4", "aria attribute, generated id");
+       var item = menu.find( "li:last" );
+       menu.menu( "focus", $.Event(), item );
+       equals( menu.attr("aria-activedescendant"), "menu1-4", "aria attribute, generated id");
 });
 
 test("items class and role", function () {
-       var ac = $('#menu1').menu();
-       expect(1 + 5 * $("li",ac).length);
-       ok( ($("li",ac).length > 0 ), "number of menu items");
-       $("li",ac).each(function(item) {
+       var menu = $('#menu1').menu();
+       expect(1 + 5 * $("li",menu).length);
+       ok( ($("li",menu).length > 0 ), "number of menu items");
+       $("li",menu).each(function(item) {
                ok( $(this).hasClass("ui-menu-item"), "menu item ("+ item + ") class for item");
                equals( $(this).attr("role"), "presentation", "menu item ("+ item + ") role");
                equals( $("a", this).attr("role"), "menuitem", "menu item ("+ item + ") role");
index 9e68e0c6733670b6af2aea45eb4f5e7208ca5e3c..8df43fa2144d2ba62988472a8ace3ffb41c717b8 100644 (file)
@@ -7,7 +7,7 @@ module("menu: events");
 
 test("handle click on menu", function() {
        expect(1);
-       var ac = $('#menu1').menu({
+       var menu = $('#menu1').menu({
                select: function(event, ui) {
                        menu_log();
                }
@@ -15,15 +15,15 @@ test("handle click on menu", function() {
        menu_log("click",true);
        menu_click($('#menu1'),"1");
        menu_log("afterclick");
-       menu_click( ac,"2");
+       menu_click( menu,"2");
        menu_click($('#menu1'),"3");
-       menu_click( ac,"1");
+       menu_click( menu,"1");
        equals( $("#log").html(), "1,3,2,afterclick,1,click,", "Click order not valid.");
 });
 
 test("handle click on custom item menu", function() {
        expect(1);
-       var ac = $('#menu5').menu({
+       var menu = $('#menu5').menu({
                select: function(event, ui) {
                        menu_log();
                },
@@ -32,9 +32,9 @@ test("handle click on custom item menu", function() {
        menu_log("click",true);
        menu_click($('#menu5'),"1");
        menu_log("afterclick");
-       menu_click( ac,"2");
+       menu_click( menu,"2");
        menu_click($('#menu5'),"3");
-       menu_click( ac,"1");
+       menu_click( menu,"1");
        equals( $("#log").html(), "1,3,2,afterclick,1,click,", "Click order not valid.");
 });
 
index 0ecaf7328ed026f6850afd9ddca8ec961cd1a4d7..3bcab3361f1eed9f3579b529b4330aad9e56ef6a 100644 (file)
@@ -5,6 +5,36 @@
 
 module("menu: methods");
 
+test( "enable/disable", function() {
+       expect( 3 );
+       var menu = $( "#menu1" ).menu({
+               select: function(event, ui) {
+                       menu_log();
+               }
+       });
+       menu.menu("disable");
+       ok(menu.is(".ui-state-disabled"),"Missing ui-state-disabled class");
+       menu_log("click",true);
+       menu_click(menu,"1");
+       menu_log("afterclick");
+       menu.menu("enable");
+       ok(menu.not(".ui-state-disabled"),"Has ui-state-disabled class");
+       menu_log("click");
+       menu_click(menu,"1");
+       menu_log("afterclick");
+       equals( $("#log").html(), "afterclick,1,click,afterclick,click,", "Click order not valid.");
+});
+
+test( "refresh", function() {
+       expect( 3 );
+       var menu = $( "#menu1" ).menu();
+       equals(menu.find(".ui-menu-item").length,5,"Incorrect number of menu items");
+       menu.append("<li><a href='#'>test item</a></li>").menu("refresh");
+       equals(menu.find(".ui-menu-item").length,6,"Incorrect number of menu items");
+       menu.find(".ui-menu-item:last").remove().end().menu("refresh");
+       equals(menu.find(".ui-menu-item").length,5,"Incorrect number of menu items");
+});
+
 test("destroy", function() {
        domEqual("#menu1", function() {
                $("#menu1").menu().menu("destroy");
index 03822fd74d14b09e50b66b7e4875a7c870f5a5d6..479aab0d197b3028b797ca9fef8e3ca47d5e8ba9 100644 (file)
@@ -5,6 +5,34 @@
 
 module("menu: options");
 
+test( "{ disabled: true }", function() {
+       expect( 2 );
+       var menu = $( "#menu1" ).menu({
+               disabled: true,
+               select: function(event, ui) {
+                       menu_log();
+               }
+       });
+       ok(menu.is(".ui-state-disabled"),"Missing ui-state-disabled class");
+       menu_log("click",true);
+       menu_click(menu,"1");
+       menu_log("afterclick");
+       equals( $("#log").html(), "afterclick,click,", "Click order not valid.");
+});
 
+test( "{ disabled: false }", function() {
+       expect( 2 );
+       var menu = $( "#menu1" ).menu({
+               disabled: false,
+               select: function(event, ui) {
+                       menu_log();
+               }
+       });
+       ok(menu.not(".ui-state-disabled"),"Has ui-state-disabled class");
+       menu_log("click",true);
+       menu_click(menu,"1");
+       menu_log("afterclick");
+       equals( $("#log").html(), "afterclick,1,click,", "Click order not valid.");
+});
 
 })(jQuery);