| <!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> |