<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
promise_test(async t => {
let navInfo = { nav : "info" };
let navState = { statevar: "state" };
let onnavigated_called = false;
navigation.onnavigate = t.step_func(e => {
onnavigated_called = true;
assert_equals(e.info, navInfo)
});
await navigation.navigate("#1", { info: navInfo, state: navState }).committed;
assert_true(onnavigated_called);
assert_not_equals(navigation.currentEntry.getState(), navState);
assert_equals(navigation.currentEntry.getState().statevar, navState.statevar);
}, "navigate() with info and state");
</script>