<!DOCTYPE html>
<title>Check that successful responses result in activating the prerender</title>
<meta name="variant" content="?code=200">
<meta name="variant" content="?code=201">
<meta name="variant" content="?code=202">
<meta name="variant" content="?code=203">
<meta name="variant" content="?code=232">
<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, 'activated');
},`Responses with code ${params.get('code')} should be activated`);
</script>
