blob: 54791d898642bf6801fd494ae434d67d5badf637 [file] [log] [blame]
<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
async_test(t => {
window.onload = t.step_timeout(() => {
let start_length = history.length;
let target_key = appHistory.current.key;
let target_id = appHistory.current.id;
location.hash = "#1";
assert_equals(history.length, start_length + 1);
appHistory.onnavigate = t.step_func_done(e => {
assert_equals(e.navigationType, "traverse");
assert_true(e.cancelable);
assert_true(e.canTransition);
assert_false(e.userInitiated);
assert_true(e.hashChange);
assert_equals(new URL(e.destination.url).hash, "");
assert_true(e.destination.sameDocument);
assert_equals(e.destination.key, target_key);
assert_equals(e.destination.id, target_id);
assert_equals(e.destination.index, 0);
assert_equals(e.formData, null);
});
history.back();
}, 0);
}, "history.back() fires the navigate event and sets hashChange when reversing a fragment navigation");
</script>