<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/helpers.js"></script>

<script>
promise_test(async t => {
  navigation.onnavigate = e => e.intercept({ handler: () => Promise.resolve({ abc: 'def' }) });

  const result = navigation.navigate("#1");

  await assertBothFulfill(t, result, navigation.currentEntry);
  assert_equals((new URL(navigation.currentEntry.url)).hash, "#1");
}, "navigate() and intercept() with a fulfilled promise");
</script>
