<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(t => {
let oncurrententrychange_count = 0;
navigation.oncurrententrychange = t.step_func(e => {
oncurrententrychange_count++;
assert_equals(e.from, navigation.currentEntry);
assert_equals(e.navigationType, null);
assert_equals(navigation.currentEntry.getState(), "newState");
});
navigation.updateCurrentEntry({ state: "newState" });
assert_equals(oncurrententrychange_count, 1);
// "Updating" the state to the current state should still fire currententrychange.
navigation.updateCurrentEntry({ state: navigation.currentEntry.getState() });
assert_equals(oncurrententrychange_count, 2);
}, "currententrychange fires for navigation.updateCurrentEntry()");
</script>