diff options
Diffstat (limited to 'testing/web-platform/tests/navigation-api/navigate-event/intercept-history-pushState.html')
-rw-r--r-- | testing/web-platform/tests/navigation-api/navigate-event/intercept-history-pushState.html | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/testing/web-platform/tests/navigation-api/navigate-event/intercept-history-pushState.html b/testing/web-platform/tests/navigation-api/navigate-event/intercept-history-pushState.html new file mode 100644 index 0000000000..aad08b742e --- /dev/null +++ b/testing/web-platform/tests/navigation-api/navigate-event/intercept-history-pushState.html @@ -0,0 +1,23 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +async_test(t => { + let start_length = history.length; + navigation.onnavigate = t.step_func(e => { + e.intercept({ handler: async () => { + await new Promise(r => t.step_timeout(r, 0)); + t.step_timeout(t.step_func_done(() => { + assert_equals(location.hash, "#1"); + assert_equals(history.state, "update"); + assert_equals(history.length, start_length + 1); + }, 0)); + }}); + }); + + history.pushState("update", "", "#1"); + assert_equals(location.hash, "#1"); + assert_equals(history.state, "update"); + assert_equals(history.length, start_length + 1); +}, "event.intercept() should proceed if the given promise resolves"); +</script> |