dispose-same-document-replaceState.html (1036B)
1 <!doctype html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script> 5 test(t => { 6 let start_index = navigation.currentEntry.index; 7 8 const currentBefore = navigation.currentEntry; 9 10 let disposeCalled = false; 11 navigation.currentEntry.ondispose = t.step_func(e => { 12 disposeCalled = true; 13 14 assert_equals(e.constructor, Event); 15 assert_equals(e.bubbles, false); 16 assert_equals(e.cancelable, false); 17 assert_equals(e.composed, false); 18 19 assert_not_equals(navigation.currentEntry, currentBefore); 20 assert_array_equals(navigation.entries().slice(start_index), [navigation.currentEntry]); 21 assert_equals((new URL(navigation.currentEntry.url)).search, "?replacement"); 22 assert_equals(navigation.transition, null); 23 assert_equals(location.search, "?replacement"); 24 }); 25 26 history.replaceState(null, "", "?replacement"); 27 assert_true(disposeCalled); 28 }, "dispose events when doing a same-document replace using history.replaceState()"); 29 </script>