blob: 3bfa00c6dc8921b5888e4c24fbb2f11d0a903080 [file] [log] [blame]
<!DOCTYPE html>
<title>Check that non-successful responses result in discarding the prerender</title>
<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>
<body>
<script>
setup(() => assertSpeculationRulesIsSupported());
function test_prerender_response_code(code, expectation) {
promise_test(async t => {
const {exec, tryToActivate} = await create_prerendered_page(t, {code});
const result = await tryToActivate();
assert_equals(result, expectation);
},`Responses with code ${code} should be ${expectation}`);
}
const expectations = {
activated: [200, 201, 202, 203],
discarded: [204, 205, 402, 404, 500, 503]
};
for (const expect in expectations) {
for (const code of expectations[expect])
test_prerender_response_code(code, expect);
}
</script>
</body>