Skip to content

Commit e1f0ea5

Browse files
author
Gabriel Schulhof
committed
[sequence tests] Test page1 -> dialog -> popup -> page2 <- back
1 parent cf0abbb commit e1f0ea5

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed

tests/unit/navigation/sequence-tests/basic-dialog.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
<h1>Dialog</h1>
99
</div>
1010
<div data-nstest-role="content">
11+
<div data-nstest-role="popup" id="popupFromBasicDialog">
12+
<a href="another-page.html" id="fromDialogPopupToAnotherPage">Go</a>
13+
</div>
14+
<a href="#popupFromBasicDialog" id="fromDialogToPopup" data-nstest-rel="popup">Go</a>
1115
<a href="another-page.html" id="fromDialogToAnotherPage">Go</a>
1216
</div>
1317
</div>

tests/unit/navigation/sequence-tests/sequence_tests.js

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,4 +358,51 @@
358358
], "openingAnotherPageAfterPopup" );
359359
});
360360

361+
asyncTest( "Sequence page1 -> dialog1 -> popup1 -> page2 <- back", function() {
362+
var eventNs = ".page1Dialog1Popup1Page2Back";
363+
364+
expect( 6 );
365+
366+
maybeWaitForStartPage([
367+
function() { $( "#openBasicDialog" ).click(); },
368+
{
369+
navigate: { src: $( document ), event: "navigate" + eventNs + "1" },
370+
pagechange: { src: $.mobile.pageContainer, event: "pagechange" + eventNs + "1" },
371+
xyzzy: { src: $( document ), event: "xyzzy" + eventNs + "1" }
372+
},
373+
function() {
374+
ok( $.mobile.activePage.attr( "id" ) === "basicDialog", "Basic dialog has opened" );
375+
$( "#fromDialogToPopup" ).click();
376+
},
377+
{
378+
popupafteropen: { src: function() { return $( "#popupFromBasicDialog" ); }, event: "popupafteropen" + eventNs + "2" },
379+
navigate: { src: $.mobile.pageContainer, event: "navigate" + eventNs + "2" },
380+
xyzzy: { src: $( document ), event: "xyzzy" + eventNs + "2" }
381+
},
382+
function( result ) {
383+
ok( !result.popupafteropen.timedOut, "Popup emitted 'popupafteropen'" );
384+
ok( !result.navigate.timedOut, "A 'navigate' event has occurred as a result of opening the popup" );
385+
$( "#fromDialogPopupToAnotherPage" ).click();
386+
},
387+
{
388+
popupafterclose: { src: function() { return $( "#popupFromBasicDialog" ); }, event: "popupafterclose" + eventNs + "3" },
389+
navigate: { src: $( document ), event: "navigate" + eventNs + "3" },
390+
pagechange: { src: $.mobile.pageContainer, event: "pagechange" + eventNs + "3" }
391+
},
392+
function( result ) {
393+
ok( !result.popupafterclose.timedOut, "Popup emitted 'popupafterclose'" );
394+
ok( $.mobile.activePage.attr( "id" ) === "anotherPage", "Landed on another page" );
395+
$.mobile.back();
396+
},
397+
{
398+
navigate: { src: $( document ), event: "navigate" + eventNs + "4" },
399+
pagechange: { src: $.mobile.pageContainer, event: "pagechange" + eventNs + "4" }
400+
},
401+
function() {
402+
ok( $.mobile.activePage.attr( "id" ) === "basicTestPage", "Active page is original page" );
403+
start();
404+
},
405+
]);
406+
});
407+
361408
})( jQuery );

0 commit comments

Comments
 (0)