|
358 | 358 | ], "openingAnotherPageAfterPopup" ); |
359 | 359 | }); |
360 | 360 |
|
| 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 | + |
361 | 408 | })( jQuery ); |
0 commit comments