<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(() => {
  let navigateEvent;
  let navigateError_called = false;
  navigation.onnavigate = e => navigateEvent = e;
  navigation.onnavigateerror = () => navigateError_called = true;

  navigation.navigate("#1");
  assert_false(navigateEvent.defaultPrevented);
  assert_false(navigateError_called);

  navigation.navigate("#2");
  assert_false(navigateEvent.defaultPrevented);
  assert_true(navigateError_called);
}, "navigateEvent.defaultPrevented isn't affected when the navigation is preempted after dispatch");
</script>
