Files
ladybird/Tests/LibWeb/Text/input/wpt-import/navigation-api/navigation-methods/navigate-same-document.html
Tim Ledbetter dc649a7e46 LibWeb: Use reject_the_finished_promise() in abort_a_navigate_event()
This aligns our implementation with the specification. Doing this
fixes a number of WPT tests because this sets
`m_ongoing_api_method_tracker` to null, avoiding an assertion that
previously caused a crash.
2026-02-14 20:21:53 +01:00

24 lines
862 B
HTML

<!doctype html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<div id="d"></div>
<script>
promise_test(async () => {
let onnavigate_called = false;
navigation.onnavigate = () => onnavigate_called = true;
await navigation.navigate("#d").committed;
assert_equals(location.hash, "#d");
assert_true(onnavigate_called);
assert_equals(document.querySelector(":target"), d);
}, "navigate() navigates same-document and fires onnavigate (async)");
test(() => {
let onnavigate_called = false;
navigation.onnavigate = () => onnavigate_called = true;
navigation.navigate("#d");
assert_equals(location.hash, "#d");
assert_true(onnavigate_called);
assert_equals(document.querySelector(":target"), d);
}, "navigate() navigates same-document and fires onnavigate (sync)");
</script>