| <!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> |