<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
async_test(t => {
  let start_length = history.length;
  navigation.onnavigate = t.step_func(e => {
    e.intercept({ handler: async () => {
      await new Promise(r => t.step_timeout(r, 0));
      t.step_timeout(t.step_func_done(() => {
        assert_equals(location.hash, "#1");
        assert_equals(history.state, "update");
        assert_equals(history.length, start_length);
      }, 0));
    }});
  });

  history.replaceState("update", "", "#1");
  assert_equals(location.hash, "#1");
  assert_equals(history.state, "update");
  assert_equals(history.length, start_length);
}, "event.intercept() should proceed if the given promise resolves");
</script>
