| <!doctype html> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/resources/testdriver.js"></script> | |
| <script src="/resources/testdriver-vendor.js"></script> | |
| <script src="/resources/testdriver-actions.js"></script> | |
| <a id="a" href="#1">Click me</a> | |
| <script> | |
| async_test(t => { | |
| navigation.onnavigate = t.step_func(e => { | |
| assert_equals(e.navigationType, "push"); | |
| assert_true(e.cancelable); | |
| assert_true(e.canIntercept); | |
| assert_true(e.userInitiated); | |
| assert_true(e.hashChange); | |
| assert_equals(e.formData, null); | |
| assert_equals(e.downloadRequest, null); | |
| assert_equals(new URL(e.destination.url).hash, "#1"); | |
| assert_true(e.destination.sameDocument); | |
| assert_equals(e.destination.key, ""); | |
| assert_equals(e.destination.id, ""); | |
| assert_equals(e.destination.index, -1); | |
| assert_equals(e.sourceElement, document.getElementById("a")); | |
| e.preventDefault(); | |
| t.step_timeout(t.step_func_done(() => assert_equals(location.hash, "")), 0); | |
| }); | |
| test_driver.click(a); | |
| }, "Fragment <a> click fires navigate event"); | |
| </script> |