| <!doctype html> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../navigation-methods/return-value/resources/helpers.js"></script> |
| <script src="resources/after-transition-commit-helpers.js"></script> |
| <body> |
| <script> |
| let tests = [ |
| { mode: "rejectBeforeCommit", destinationIndex: 0, description: "{ commit: 'after-transition' } for a traverse navigation, reject before commit" }, |
| { mode: "rejectAfterCommit", destinationIndex: 1, description: "{ commit: 'after-transition' } for a traverse navigation, reject after commit" }, |
| { mode: "successExplicitCommit", destinationIndex: 2, description: "{ commit: 'after-transition' } for a traverse navigation, explicit commit()" }, |
| { mode: "successNoExplicitCommit", destinationIndex: 3, description: "{ commit: 'after-transition' } for a traverse navigation, commit when handler resolves" } |
| ]; |
| |
| // Push a bunch of history entries so each test case can target a unique entry. |
| history.pushState("", "", "#1"); |
| history.pushState("", "", "#2"); |
| history.pushState("", "", "#3"); |
| history.pushState("", "", "#4"); |
| |
| let onload_promise = new Promise(resolve => window.onload = resolve); |
| for (let test of tests) { |
| promise_test(async t => { |
| await onload_promise; |
| await testAfterTransitionCommit(t, "traverse", test.mode, test.destinationIndex); |
| }, test.description); |
| } |
| </script> |
| </body> |