<!DOCTYPE html>
<title>Check that non-successful responses result in discarding the prerender</title>
<meta name="variant" content="?code=204">
<meta name="variant" content="?code=205">
<meta name="variant" content="?code=402">
<meta name="variant" content="?code=404">
<meta name="variant" content="?code=500">
<meta name="variant" content="?code=503">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/utils.js"></script>
<script src="/common/dispatcher/dispatcher.js"></script>
<script src="../resources/utils.js"></script>
<script src="resources/utils.js"></script>

<body>
<script>
setup(() => assertSpeculationRulesIsSupported());

const params = new URLSearchParams(window.location.search);

promise_test(async t => {
  // Pass the `code` search param so that a prerendered page is served with the
  // response code.
  const {exec, tryToActivate} =
      await create_prerendered_page(t, {'prerendering': params});
  const result = await tryToActivate();
  assert_equals(result, 'discarded');
},`Responses with code ${params.get('code')} should be discarded`);
</script>
