diff options
Diffstat (limited to 'testing/web-platform/tests/navigation-api/navigation-methods/traverseTo-same-document.html')
-rw-r--r-- | testing/web-platform/tests/navigation-api/navigation-methods/traverseTo-same-document.html | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/testing/web-platform/tests/navigation-api/navigation-methods/traverseTo-same-document.html b/testing/web-platform/tests/navigation-api/navigation-methods/traverseTo-same-document.html new file mode 100644 index 0000000000..1a32bce99c --- /dev/null +++ b/testing/web-platform/tests/navigation-api/navigation-methods/traverseTo-same-document.html @@ -0,0 +1,43 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +async_test(t => { + // Wait for after the load event so that the navigation doesn't get converted + // into a replace navigation. + window.onload = () => t.step_timeout(() => { + assert_equals(navigation.entries().length, 1); + + let onnavigate_count = 0; + navigation.onnavigate = () => onnavigate_count++; + + let key = navigation.currentEntry.key; + navigation.navigate("#").committed + .then(t.step_func(() => { + assert_equals(navigation.entries().length, 2); + assert_equals(navigation.currentEntry, navigation.entries()[1]); + assert_not_equals(key, navigation.currentEntry.key); + return navigation.traverseTo(key).committed; + })) + .then(t.step_func(() => { + assert_equals(navigation.entries().length, 2); + assert_equals(navigation.currentEntry, navigation.entries()[0]); + assert_equals(key, navigation.currentEntry.key); + assert_true(navigation.canGoForward); + return navigation.forward().committed; + })) + .then(t.step_func(() => { + assert_equals(navigation.entries().length, 2); + assert_equals(navigation.currentEntry, navigation.entries()[1]); + assert_true(navigation.canGoBack); + return navigation.back().committed; + })) + .then(t.step_func_done(() => { + assert_equals(navigation.entries().length, 2); + assert_equals(navigation.currentEntry, navigation.entries()[0]); + assert_equals(key, navigation.currentEntry.key); + assert_equals(onnavigate_count, 4); + })); + }, 0); +}, "same-document navigate.traverseTo(), back(), and forward()"); +</script> |