diff options
Diffstat (limited to 'testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/event-order/before-load-pushState.html')
-rw-r--r-- | testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/event-order/before-load-pushState.html | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/event-order/before-load-pushState.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/event-order/before-load-pushState.html new file mode 100644 index 0000000000..a08afa474f --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/event-order/before-load-pushState.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Popstate/hashchange/load event ordering</title> + +<script> +// Set these up super-early before we hit the network for the test harness, just in case. +window.eventOrder = []; +window.onhashchange = () => window.eventOrder.push("hashchange"); +window.onpopstate = () => window.eventOrder.push("popstate"); +window.onload = () => window.eventOrder.push("load"); +</script> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<script> +async_test(t => { + assert_array_equals(window.eventOrder, []); + + window.addEventListener("load", t.step_func(() => { + t.step_timeout(t.step_func_done(() => { + assert_array_equals(window.eventOrder, ["load"]); + }), 100); + })); + + history.pushState({ state: "new state" }, ""); +}, "when pushing state, before load"); +</script> |