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

This commit is contained in:
John Bender 2011-04-21 22:32:37 -07:00
parent cf23361a19
commit 70a86c748f
3 changed files with 107 additions and 31 deletions

View file

@ -165,6 +165,62 @@
</select>
</div>
<div data-nstest-role="fieldcontain" id="select-choice-many-container-many-clicks">
<label for="select-choice-many-many-clicks" class="select">Your state:</label>
<select name="select-choice-many-many-clicks" id="select-choice-many-many-clicks">
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
</select>
</div>
<div data-nstest-role="fieldcontain" id="select-offscreen-container">
<style>
/* keep the select small and close to the screen border to test rendering */

View file

@ -13,6 +13,37 @@
teardown: function(){ location.hash = ""; }
});
asyncTest( "a large select menu should come up in a dialog many times", function(){
var menu, select = $("#select-choice-many-container a");
$.testHelper.sequence([
function(){
// bring up the dialog
select.trigger("click");
},
function(){
menu = $("#select-choice-many-menu");
same(menu.parents('.ui-dialog').length, 1);
},
function(){
// select and close the dialog
menu.parents('ui-dialog').find("span.ui-icon-delete").click();
},
function(){
//bring up the dialog again
select.trigger("click");
},
function(){
same(menu.parents('.ui-dialog').length, 1);
start();
}
], 500);
});
asyncTest( "custom select menu always renders screen from the left", function(){
expect( 1 );
var select = $("ul#select-offscreen-menu");
@ -44,4 +75,24 @@
}
], 500);
});
asyncTest( "dialog sized select menu opened many times remains a dialog", function(){
var dialogHashKey = "ui-state=dialog",
openDialogSequence = [
function(){
$("#select-choice-many-container-many-clicks a").trigger("vclick");
},
function(){
ok(location.hash.indexOf(dialogHashKey) > -1);
$(".ui-page-active li").trigger("click");
}
],
sequence = openDialogSequence.concat(openDialogSequence).concat([start]);
$.testHelper.sequence(sequence, 500);
});
})(jQuery);

View file

@ -13,37 +13,6 @@
teardown: function(){ location.hash = ""; }
});
asyncTest( "a large select menu should come up in a dialog many times", function(){
var menu, select = $("#select-choice-many-container a");
$.testHelper.sequence([
function(){
// bring up the dialog
select.trigger("click");
},
function(){
menu = $("#select-choice-many-menu");
same(menu.parents('.ui-dialog').length, 1);
},
function(){
// select and close the dialog
menu.parents('ui-dialog').find("span.ui-icon-delete").click();
},
function(){
//bring up the dialog again
select.trigger("click");
},
function(){
same(menu.parents('.ui-dialog').length, 1);
start();
}
], 500);
});
asyncTest( "firing a click at least 400 ms later on the select screen overlay does close it", function(){
$.Event.prototype.originalEvent = {
touches: [ 'foo' ]