diff options
Diffstat (limited to 'testing/web-platform/tests/navigation-api/updateCurrentEntry-method/cross-document-away-and-back.html')
-rw-r--r-- | testing/web-platform/tests/navigation-api/updateCurrentEntry-method/cross-document-away-and-back.html | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/testing/web-platform/tests/navigation-api/updateCurrentEntry-method/cross-document-away-and-back.html b/testing/web-platform/tests/navigation-api/updateCurrentEntry-method/cross-document-away-and-back.html new file mode 100644 index 0000000000..c37d5e979a --- /dev/null +++ b/testing/web-platform/tests/navigation-api/updateCurrentEntry-method/cross-document-away-and-back.html @@ -0,0 +1,31 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<iframe id="i" src="/common/blank.html"></iframe> +<script> +async_test(t => { + window.onload = t.step_func(() => { + i.contentWindow.navigation.updateCurrentEntry({ state: { data: "value" } }); + assert_equals(i.contentWindow.navigation.entries().length, 1); + assert_equals(i.contentWindow.navigation.currentEntry.getState().data, "value"); + + let navigated_back = false; + i.contentWindow.navigation.navigate("?1"); + i.onload = t.step_func(() => { + if (navigated_back) { + let back_entry = i.contentWindow.navigation.currentEntry; + assert_equals(i.contentWindow.navigation.entries().length, 2); + assert_equals(back_entry.index, 0); + assert_equals(back_entry.getState().data, "value"); + t.done(); + } else { + assert_equals(i.contentWindow.navigation.entries().length, 2); + assert_equals(i.contentWindow.navigation.currentEntry, i.contentWindow.navigation.entries()[1]); + assert_equals(i.contentWindow.navigation.currentEntry.getState(), undefined); + history.back(); + navigated_back = true; + } + }); + }); +}, "entry.getState() behavior after navigating away and back"); +</script> |