diff options
Diffstat (limited to 'testing/web-platform/tests/navigation-api/per-entry-events/dispose-same-document-replaceState.html')
-rw-r--r-- | testing/web-platform/tests/navigation-api/per-entry-events/dispose-same-document-replaceState.html | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/testing/web-platform/tests/navigation-api/per-entry-events/dispose-same-document-replaceState.html b/testing/web-platform/tests/navigation-api/per-entry-events/dispose-same-document-replaceState.html new file mode 100644 index 0000000000..a6197260a2 --- /dev/null +++ b/testing/web-platform/tests/navigation-api/per-entry-events/dispose-same-document-replaceState.html @@ -0,0 +1,28 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +test(t => { + const entriesBefore = navigation.entries(); + const currentBefore = navigation.currentEntry; + + let disposeCalled = false; + navigation.currentEntry.ondispose = t.step_func(e => { + disposeCalled = true; + + assert_equals(e.constructor, Event); + assert_equals(e.bubbles, false); + assert_equals(e.cancelable, false); + assert_equals(e.composed, false); + + assert_not_equals(navigation.currentEntry, currentBefore); + assert_array_equals(navigation.entries(), [navigation.currentEntry]); + assert_equals((new URL(navigation.currentEntry.url)).search, "?replacement"); + assert_equals(navigation.transition, null); + assert_equals(location.search, "?replacement"); + }); + + history.replaceState(null, "", "?replacement"); + assert_true(disposeCalled); +}, "dispose events when doing a same-document replace using history.replaceState()"); +</script> |