| <!doctype html> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script> | |
| async_test(t => { | |
| navigation.onnavigate = t.unreached_func("navigate must not fire"); | |
| navigation.onnavigatesuccess = t.unreached_func("navigatesuccess must not fire"); | |
| navigation.onnavigateerror = t.unreached_func("navigateerror must not fire"); | |
| assert_equals(navigation.currentEntry.getState(), undefined, "Navigation API state starts out as undefined"); | |
| assert_equals(history.state, null, "history.state starts out as null"); | |
| const newState = { key: "value" }; | |
| navigation.updateCurrentEntry({ state: newState }); | |
| assert_equals(navigation.currentEntry.getState().key, "value"); | |
| assert_not_equals(navigation.currentEntry.getState(), newState); | |
| assert_equals(history.state, null); | |
| // Wait a tick to make sure no events fire asynchronously. | |
| t.step_timeout(() => t.done(), 0); | |
| }, "updateCurrentEntry() works as expected"); | |
| </script> |