Skip to content

Commit 70a86c7

Browse files
committed
added a sequenced test to make sure that opening a dialog sized select menu resulted in that same dialog many times. also moved one of the event tests over to core
1 parent cf23361 commit 70a86c7

File tree

3 files changed

+107
-31
lines changed

3 files changed

+107
-31
lines changed

tests/unit/select/index.html

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,62 @@ <h2 id="qunit-userAgent"></h2>
165165
</select>
166166
</div>
167167

168+
<div data-nstest-role="fieldcontain" id="select-choice-many-container-many-clicks">
169+
<label for="select-choice-many-many-clicks" class="select">Your state:</label>
170+
<select name="select-choice-many-many-clicks" id="select-choice-many-many-clicks">
171+
<option value="AL">Alabama</option>
172+
<option value="AK">Alaska</option>
173+
<option value="AZ">Arizona</option>
174+
<option value="AR">Arkansas</option>
175+
<option value="CA">California</option>
176+
<option value="CO">Colorado</option>
177+
<option value="CT">Connecticut</option>
178+
<option value="DE">Delaware</option>
179+
<option value="FL">Florida</option>
180+
<option value="GA">Georgia</option>
181+
<option value="HI">Hawaii</option>
182+
<option value="ID">Idaho</option>
183+
<option value="IL">Illinois</option>
184+
<option value="IN">Indiana</option>
185+
<option value="IA">Iowa</option>
186+
<option value="KS">Kansas</option>
187+
<option value="KY">Kentucky</option>
188+
<option value="LA">Louisiana</option>
189+
<option value="ME">Maine</option>
190+
<option value="MD">Maryland</option>
191+
<option value="MA">Massachusetts</option>
192+
<option value="MI">Michigan</option>
193+
<option value="MN">Minnesota</option>
194+
<option value="MS">Mississippi</option>
195+
<option value="MO">Missouri</option>
196+
<option value="MT">Montana</option>
197+
<option value="NE">Nebraska</option>
198+
<option value="NV">Nevada</option>
199+
<option value="NH">New Hampshire</option>
200+
<option value="NJ">New Jersey</option>
201+
<option value="NM">New Mexico</option>
202+
<option value="NY">New York</option>
203+
<option value="NC">North Carolina</option>
204+
<option value="ND">North Dakota</option>
205+
<option value="OH">Ohio</option>
206+
<option value="OK">Oklahoma</option>
207+
<option value="OR">Oregon</option>
208+
<option value="PA">Pennsylvania</option>
209+
<option value="RI">Rhode Island</option>
210+
<option value="SC">South Carolina</option>
211+
<option value="SD">South Dakota</option>
212+
<option value="TN">Tennessee</option>
213+
<option value="TX">Texas</option>
214+
<option value="UT">Utah</option>
215+
<option value="VT">Vermont</option>
216+
<option value="VA">Virginia</option>
217+
<option value="WA">Washington</option>
218+
<option value="WV">West Virginia</option>
219+
<option value="WI">Wisconsin</option>
220+
<option value="WY">Wyoming</option>
221+
</select>
222+
</div>
223+
168224
<div data-nstest-role="fieldcontain" id="select-offscreen-container">
169225
<style>
170226
/* keep the select small and close to the screen border to test rendering */

tests/unit/select/select_core.js

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,37 @@
1313
teardown: function(){ location.hash = ""; }
1414
});
1515

16+
asyncTest( "a large select menu should come up in a dialog many times", function(){
17+
var menu, select = $("#select-choice-many-container a");
18+
19+
$.testHelper.sequence([
20+
function(){
21+
// bring up the dialog
22+
select.trigger("click");
23+
},
24+
25+
function(){
26+
menu = $("#select-choice-many-menu");
27+
same(menu.parents('.ui-dialog').length, 1);
28+
},
29+
30+
function(){
31+
// select and close the dialog
32+
menu.parents('ui-dialog').find("span.ui-icon-delete").click();
33+
},
34+
35+
function(){
36+
//bring up the dialog again
37+
select.trigger("click");
38+
},
39+
40+
function(){
41+
same(menu.parents('.ui-dialog').length, 1);
42+
start();
43+
}
44+
], 500);
45+
});
46+
1647
asyncTest( "custom select menu always renders screen from the left", function(){
1748
expect( 1 );
1849
var select = $("ul#select-offscreen-menu");
@@ -44,4 +75,24 @@
4475
}
4576
], 500);
4677
});
78+
79+
asyncTest( "dialog sized select menu opened many times remains a dialog", function(){
80+
var dialogHashKey = "ui-state=dialog",
81+
82+
openDialogSequence = [
83+
function(){
84+
$("#select-choice-many-container-many-clicks a").trigger("vclick");
85+
},
86+
87+
function(){
88+
ok(location.hash.indexOf(dialogHashKey) > -1);
89+
$(".ui-page-active li").trigger("click");
90+
}
91+
],
92+
93+
sequence = openDialogSequence.concat(openDialogSequence).concat([start]);
94+
95+
$.testHelper.sequence(sequence, 500);
96+
});
97+
4798
})(jQuery);

tests/unit/select/select_events.js

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -13,37 +13,6 @@
1313
teardown: function(){ location.hash = ""; }
1414
});
1515

16-
asyncTest( "a large select menu should come up in a dialog many times", function(){
17-
var menu, select = $("#select-choice-many-container a");
18-
19-
$.testHelper.sequence([
20-
function(){
21-
// bring up the dialog
22-
select.trigger("click");
23-
},
24-
25-
function(){
26-
menu = $("#select-choice-many-menu");
27-
same(menu.parents('.ui-dialog').length, 1);
28-
},
29-
30-
function(){
31-
// select and close the dialog
32-
menu.parents('ui-dialog').find("span.ui-icon-delete").click();
33-
},
34-
35-
function(){
36-
//bring up the dialog again
37-
select.trigger("click");
38-
},
39-
40-
function(){
41-
same(menu.parents('.ui-dialog').length, 1);
42-
start();
43-
}
44-
], 500);
45-
});
46-
4716
asyncTest( "firing a click at least 400 ms later on the select screen overlay does close it", function(){
4817
$.Event.prototype.originalEvent = {
4918
touches: [ 'foo' ]

0 commit comments

Comments
 (0)