Skip to content

Commit 5766261

Browse files
committed
Selectmenu: fix unit tests (with clean-up)
1 parent 6c049f2 commit 5766261

File tree

4 files changed

+179
-173
lines changed

4 files changed

+179
-173
lines changed

tests/unit/selectmenu/selectmenu_core.js

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33
module( "selectmenu: core" );
44

55
test("accessibility", function () {
6-
var element = $('#speed').selectmenu();
7-
var widget = element.selectmenu("widget");
8-
var button = widget.filter(".ui-selectmenu-button");
9-
var menu = widget.filter(".ui-selectmenu-menu");
10-
var link = button.children("a");
11-
var ul = menu.children("ul")
12-
var links = ul.find("li.ui-menu-item a");
6+
var element = $('#speed').selectmenu(),
7+
widget = element.selectmenu("widget"),
8+
button = widget.filter(".ui-selectmenu-button"),
9+
menu = widget.filter(".ui-selectmenu-menu"),
10+
link = button.find("a"),
11+
selected = element.find("option:selected"),
12+
ul = menu.children("ul"),
13+
links = ul.find("li.ui-menu-item a");
14+
1315
expect(9 + links.length * 2);
1416

1517
equals( "true", link.attr("aria-haspopup"), "button link aria-haspopup" );
@@ -41,12 +43,13 @@ $.each([
4143
], function( i, settings ) {
4244
test("state synchronization - " + settings.type, function () {
4345
expect(5);
44-
var element = $(settings.selector).selectmenu();
45-
var widget = element.selectmenu("widget");
46-
var button = widget.filter(".ui-selectmenu-button");
47-
var menu = widget.filter(".ui-selectmenu-menu");
48-
var link = button.find("a");
49-
var selected = element.find("option:selected");
46+
47+
var element = $(settings.selector).selectmenu(),
48+
widget = element.selectmenu("widget"),
49+
button = widget.filter(".ui-selectmenu-button"),
50+
menu = widget.filter(".ui-selectmenu-menu"),
51+
link = button.find("a"),
52+
selected = element.find("option:selected");
5053

5154
equals( button.text(), selected.text(), "inital button text" );
5255

Lines changed: 104 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,108 @@
11
(function ($) {
22

3-
module("selectmenu: events", {
4-
setup: function () {
5-
this.element = $("#speed");
6-
}
7-
});
8-
9-
test("change", function () {
10-
expect(5);
11-
12-
this.element.selectmenu({
13-
change: function (event, ui) {
14-
ok(event, "change event fired on change");
15-
equals(event.type, "selectmenuchange", "event type set to selectmenuchange");
16-
ok(ui, "ui object is passed as second argument to event handler");
17-
equals(ui.item.element[0].nodeName, "OPTION", "ui.item.element[0] points to original option element");
18-
equals(ui.item.value, value, "ui.item.value property updated correctly");
19-
}
20-
});
21-
22-
var widget = this.element.selectmenu("widget"),
23-
menu = widget.filter(".ui-selectmenu-menu"),
24-
button = widget.filter(".ui-selectmenu-button"),
25-
value = this.element.find("option").first().text();
26-
27-
button.find("a").simulate( "click" );
28-
menu.find("a").first().simulate( "mouseover" ).simulate( "click" );
29-
});
30-
31-
test("close", function () {
32-
expect(3);
33-
34-
this.element.selectmenu({
35-
close: function (event, ui) {
36-
ok(event, "close event fired on close");
37-
equals(event.type, "selectmenuclose", "event type set to selectmenuclose");
38-
ok(ui, "ui object is passed as second argument to event handler");
39-
}
40-
});
41-
42-
this.element.selectmenu("open").selectmenu("close");
43-
});
44-
45-
test("focus", function () {
46-
expect(4);
47-
48-
var counter = 0;
49-
50-
this.element.selectmenu({
51-
focus: function (event, ui) {
52-
counter++;
53-
54-
if (counter === 1) {
55-
ok(event, "focus event fired on mouseover");
56-
equals(event.type, "selectmenufocus", "event type set to selectmenufocus");
57-
ok(ui, "ui object is passed as second argument to event handler");
58-
equals(ui.item.element[0].nodeName, "OPTION", "ui points to original option element");
59-
}
60-
}
61-
});
62-
63-
var widget = this.element.selectmenu("widget"),
64-
button = widget.filter(".ui-selectmenu-button"),
65-
menu = widget.filter(".ui-selectmenu-menu");
66-
67-
button.find("a").simulate( "click" );
68-
menu.find(".ui-menu-item").simulate("mouseover");
69-
});
70-
71-
test("open", function () {
72-
expect(3);
73-
74-
this.element.selectmenu({
75-
open: function (event, ui) {
76-
ok(event, "open event fired on open");
77-
equals(event.type, "selectmenuopen", "event type set to selectmenuopen");
78-
ok(ui, "ui object is passed as second argument to event handler");
79-
}
80-
});
81-
82-
this.element.selectmenu("open");
83-
});
84-
85-
test("select", function () {
86-
expect(4);
87-
88-
this.element.selectmenu({
89-
select: function (event, ui) {
90-
ok(event, "select event fired on item select");
91-
equals(event.type, "selectmenuselect", "event type set to selectmenuselect");
92-
ok(ui, "ui object is passed as second argument to event handler");
93-
equals(ui.item.element[0].nodeName, "OPTION", "ui points to original option element");
94-
}
95-
});
96-
97-
var widget = this.element.selectmenu("widget"),
98-
button = widget.filter(".ui-selectmenu-button"),
99-
menu = widget.filter(".ui-selectmenu-menu");
100-
101-
button.find("a").simulate( "click" );
102-
menu.find("a").first().simulate( "mouseover" ).simulate("click");
103-
});
3+
module("selectmenu: events", {
4+
setup: function () {
5+
this.element = $("#speed");
6+
}
7+
});
8+
9+
test("change", function () {
10+
expect(5);
11+
12+
this.element.selectmenu({
13+
change: function (event, ui) {
14+
ok(event, "change event fired on change");
15+
equals(event.type, "selectmenuchange", "event type set to selectmenuchange");
16+
ok(ui, "ui object is passed as second argument to event handler");
17+
equals(ui.item.element[0].nodeName, "OPTION", "ui.item.element[0] points to original option element");
18+
equals(ui.item.value, value, "ui.item.value property updated correctly");
19+
}
20+
});
21+
22+
var widget = this.element.selectmenu("widget"),
23+
menu = widget.filter(".ui-selectmenu-menu"),
24+
button = widget.filter(".ui-selectmenu-button"),
25+
value = this.element.find("option").first().text();
26+
27+
button.find("a").simulate( "click" );
28+
menu.find("a").first().simulate( "mouseover" ).simulate( "click" );
29+
});
30+
31+
32+
test("close", function () {
33+
expect(3);
34+
35+
this.element.selectmenu({
36+
close: function (event, ui) {
37+
ok(event, "close event fired on close");
38+
equals(event.type, "selectmenuclose", "event type set to selectmenuclose");
39+
ok(ui, "ui object is passed as second argument to event handler");
40+
}
41+
});
42+
43+
this.element.selectmenu("open").selectmenu("close");
44+
});
45+
46+
47+
test("focus", function () {
48+
expect(4);
49+
50+
var counter = 0;
51+
52+
this.element.selectmenu({
53+
focus: function (event, ui) {
54+
counter++;
55+
if (counter === 1) {
56+
ok(event, "focus event fired on mouseover");
57+
equals(event.type, "selectmenufocus", "event type set to selectmenufocus");
58+
ok(ui, "ui object is passed as second argument to event handler");
59+
equals(ui.item.element[0].nodeName, "OPTION", "ui points to original option element");
60+
}
61+
}
62+
});
63+
64+
var widget = this.element.selectmenu("widget"),
65+
button = widget.filter(".ui-selectmenu-button"),
66+
menu = widget.filter(".ui-selectmenu-menu");
67+
68+
button.find("a").simulate( "click" );
69+
menu.find(".ui-menu-item").simulate("mouseover");
70+
});
71+
72+
73+
test("open", function () {
74+
expect(3);
75+
76+
this.element.selectmenu({
77+
open: function (event, ui) {
78+
ok(event, "open event fired on open");
79+
equals(event.type, "selectmenuopen", "event type set to selectmenuopen");
80+
ok(ui, "ui object is passed as second argument to event handler");
81+
}
82+
});
83+
84+
this.element.selectmenu("open");
85+
});
86+
87+
88+
test("select", function () {
89+
expect(4);
90+
91+
this.element.selectmenu({
92+
select: function (event, ui) {
93+
ok(event, "select event fired on item select");
94+
equals(event.type, "selectmenuselect", "event type set to selectmenuselect");
95+
ok(ui, "ui object is passed as second argument to event handler");
96+
equals(ui.item.element[0].nodeName, "OPTION", "ui points to original option element");
97+
}
98+
});
99+
100+
var widget = this.element.selectmenu("widget"),
101+
button = widget.filter(".ui-selectmenu-button"),
102+
menu = widget.filter(".ui-selectmenu-menu");
103+
104+
button.find("a").simulate( "click" );
105+
menu.find("a").first().simulate( "mouseover" ).simulate("click");
106+
});
104107

105108
})(jQuery);

tests/unit/selectmenu/selectmenu_methods.js

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ test( "destroy", function() {
1313
test( "open / close", function() {
1414
expect( 4 );
1515

16-
var element = $("#speed").selectmenu();
17-
var widget = element.selectmenu("widget");
18-
var button = widget.filter(".ui-selectmenu-button");
19-
var menu = widget.filter(".ui-selectmenu-menu");
16+
var element = $('#speed').selectmenu(),
17+
widget = element.selectmenu("widget"),
18+
button = widget.filter(".ui-selectmenu-button"),
19+
menu = widget.filter(".ui-selectmenu-menu");
2020

2121
element.selectmenu("open");
2222
ok( menu.is( ":visible" ), "menu visible" );
@@ -30,11 +30,12 @@ test( "open / close", function() {
3030

3131
test("enable / disable", function () {
3232
expect(12);
33-
var element = $("#speed").selectmenu();
34-
var widget = element.selectmenu("widget");
35-
var button = widget.filter(".ui-selectmenu-button");
36-
var link = button.children("a");
37-
var menu = widget.filter(".ui-selectmenu-menu");
33+
34+
var element = $('#speed').selectmenu(),
35+
widget = element.selectmenu("widget"),
36+
button = widget.filter(".ui-selectmenu-button"),
37+
menu = widget.filter(".ui-selectmenu-menu"),
38+
link = button.find("a");
3839

3940
element.selectmenu("disable")
4041
ok( element.selectmenu("option", "disabled"), "disable: widget option" );
@@ -56,10 +57,11 @@ test("enable / disable", function () {
5657

5758
test("refresh - structure", function () {
5859
expect(3);
59-
var element = $("#number").selectmenu();
60-
var widget = element.selectmenu("widget");
61-
var button = widget.filter(".ui-selectmenu-button");
62-
var menu = widget.filter(".ui-selectmenu-menu");
60+
61+
var element = $('#speed').selectmenu(),
62+
widget = element.selectmenu("widget"),
63+
button = widget.filter(".ui-selectmenu-button"),
64+
menu = widget.filter(".ui-selectmenu-menu");
6365

6466
element.find("option").eq(2).remove();
6567
element.find("option").eq(3).remove();
@@ -77,10 +79,11 @@ test("refresh - structure", function () {
7779

7880
test("refresh - disabled select", function () {
7981
expect(6);
80-
var element = $("#speed").selectmenu();
81-
var widget = element.selectmenu("widget");
82-
var button = widget.filter(".ui-selectmenu-button");
83-
var menu = widget.filter(".ui-selectmenu-menu");
82+
83+
var element = $('#speed').selectmenu(),
84+
widget = element.selectmenu("widget"),
85+
button = widget.filter(".ui-selectmenu-button"),
86+
menu = widget.filter(".ui-selectmenu-menu");
8487

8588
element.attr("disabled", "disabled");
8689
element.selectmenu("refresh");
@@ -95,10 +98,11 @@ test("refresh - disabled select", function () {
9598

9699
test("refresh - disabled option", function () {
97100
expect(2);
98-
var element = $("#speed").selectmenu();
99-
var widget = element.selectmenu("widget");
100-
var button = widget.filter(".ui-selectmenu-button");
101-
var menu = widget.filter(".ui-selectmenu-menu");
101+
102+
var element = $('#speed').selectmenu(),
103+
widget = element.selectmenu("widget"),
104+
button = widget.filter(".ui-selectmenu-button"),
105+
menu = widget.filter(".ui-selectmenu-menu");
102106

103107
element.attr("disabled", "disabled");
104108
element.find("option").eq(2).attr("disabled", "disabled");
@@ -110,13 +114,14 @@ test("refresh - disabled option", function () {
110114
});
111115

112116
test("refresh - disabled optgroup", function () {
113-
var element = $("#files").selectmenu();
114-
var widget = element.selectmenu("widget");
115-
var button = widget.filter(".ui-selectmenu-button");
116-
var menu = widget.filter(".ui-selectmenu-menu");
117117

118-
var originalDisabledOptgroup = element.find("optgroup").first();
119-
var originalDisabledOptions = originalDisabledOptgroup.find("option");
118+
var element = $('#files').selectmenu(),
119+
widget = element.selectmenu("widget"),
120+
button = widget.filter(".ui-selectmenu-button"),
121+
menu = widget.filter(".ui-selectmenu-menu");
122+
originalDisabledOptgroup = element.find("optgroup").first(),
123+
originalDisabledOptions = originalDisabledOptgroup.find("option");
124+
120125
expect(2 + originalDisabledOptions.length * 2);
121126

122127
originalDisabledOptgroup.attr("disabled", "disabled");

0 commit comments

Comments
 (0)