From 26603de5bafb4fe9e824b28d8f799ed0f7e0604f Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 2 Nov 2011 21:56:37 +0100 Subject: Selectmenu: added basic markup and a11y unit tests --- tests/unit/selectmenu/selectmenu.html | 8 +++---- tests/unit/selectmenu/selectmenu_core.js | 38 ++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu.html b/tests/unit/selectmenu/selectmenu.html index 836f911fc..761b916ee 100644 --- a/tests/unit/selectmenu/selectmenu.html +++ b/tests/unit/selectmenu/selectmenu.html @@ -4,12 +4,12 @@ jQuery UI Selectmenu Test Suite - + + + + - - - diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 0d6b8951a..92b29882e 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -3,4 +3,42 @@ module( "selectmenu: core" ); +test("markup structure", function () { + expect(5); + var element = $('#speed').selectmenu(); + var widget = element.selectmenu("widget"); + var button = widget.filter(".ui-selectmenu-button"); + var menu = widget.filter(".ui-selectmenu-menu"); + + equals( button.length, 1, "button wrapper found"); + equals( button.children("a").length, 1, "button link found"); + + equals( menu.length, 1, "menu wrapper found"); + equals( menu.children("ul").length, 1, "menu found"); + + equals( menu.find("ul li.ui-menu-item").length, element.find("option").length, "menu li's found"); +}); + +test("accessibility", function () { + var element = $('#speed').selectmenu(); + var widget = element.selectmenu("widget"); + var button = widget.filter(".ui-selectmenu-button"); + var menu = widget.filter(".ui-selectmenu-menu"); + var link = button.children("a"); + var ul = menu.children("ul") + var links = ul.find("li.ui-menu-item a"); + expect(6 + links.length); + + equals( button.attr("aria-disabled"), "false", "button aria-disabled"); + equals( link.attr("aria-disabled"), "false", "button link aria-disabled"); + equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup"); + equals( link.attr("role"), "button", "button link role"); + equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns"); + equals( link.attr("tabindex"), 0, "button link tabindex"); + + $.each( links, function(index){ + equals( $(this).attr("role"), "option", "menu link #" + index +" role"); + }); +}); + })( jQuery ); -- cgit v1.2.3