<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
async_test(t => {
let start_length = navigation.entries().length;
let start_index = navigation.currentEntry.index;
let key = navigation.currentEntry.key;
let id = navigation.currentEntry.id;
history.pushState("hash", "", "#hash");
assert_not_equals(key, navigation.currentEntry.key);
assert_not_equals(id, navigation.currentEntry.id);
assert_equals(navigation.entries().length, start_length + 1);
assert_equals(navigation.currentEntry.index, start_index + 1);
window.onpopstate = t.step_func_done(() => {
assert_equals(key, navigation.currentEntry.key);
assert_equals(id, navigation.currentEntry.id);
assert_equals(navigation.entries().length, start_length + 1);
assert_equals(navigation.currentEntry.index, start_index);
});
history.back();
}, "NavigationHistoryEntry's key and id on same-document back navigation");
</script>