Skip to content

Commit 74b8a50

Browse files
committed
Selectmenu: added state synchronization unit test
1 parent 0d064bb commit 74b8a50

File tree

1 file changed

+41
-7
lines changed

1 file changed

+41
-7
lines changed

tests/unit/selectmenu/selectmenu_core.js

Lines changed: 41 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,49 @@ test("accessibility", function () {
1212
var links = ul.find("li.ui-menu-item a");
1313
expect(6 + links.length);
1414

15-
equals( button.attr("aria-disabled"), "false", "button aria-disabled");
16-
equals( link.attr("aria-disabled"), "false", "button link aria-disabled");
17-
equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup");
18-
equals( link.attr("role"), "button", "button link role");
19-
equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns");
20-
equals( link.attr("tabindex"), 0, "button link tabindex");
15+
equals( button.attr("aria-disabled"), "false", "button aria-disabled" );
16+
equals( link.attr("aria-disabled"), "false", "button link aria-disabled" );
17+
equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup" );
18+
equals( link.attr("role"), "button", "button link role" );
19+
equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns" );
20+
equals( link.attr("tabindex"), 0, "button link tabindex" );
2121

2222
$.each( links, function(index){
23-
equals( $(this).attr("role"), "option", "menu link #" + index +" role");
23+
equals( $(this).attr("role"), "option", "menu link #" + index +" role" );
24+
});
25+
});
26+
27+
28+
$.each([
29+
{
30+
type: "default",
31+
selector: "#speed",
32+
valueMethod: "val"
33+
},
34+
{
35+
type: "optgroups",
36+
selector: "#files",
37+
valueMethod: "text"
38+
}
39+
], function( i, settings ) {
40+
test("state synchronization - " + settings.type, function () {
41+
expect(6);
42+
var element = $(settings.selector).selectmenu();
43+
var widget = element.selectmenu("widget");
44+
var button = widget.filter(".ui-selectmenu-button");
45+
var menu = widget.filter(".ui-selectmenu-menu");
46+
47+
equals( element[0].value, element.selectmenu("option", "value"), "inital value" );
48+
equals( element.find("option:selected").text(), button.text(), "inital button text" );
49+
50+
button.find("a").simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
51+
equals( element[0].value, element.selectmenu("option", "value"), "after keydown value" );
52+
equals( element.find("option:selected").text(), button.text(), "after keydown button text" );
53+
54+
button.find("a").simulate( "click" );
55+
menu.find("a").last().simulate( "click" );
56+
equals( element[0].value, element.selectmenu("option", "value"), "after click value" );
57+
equals( element.find("option:selected").text(), button.text(), "after click button text" );
2458
});
2559
});
2660

0 commit comments

Comments
 (0)