<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/dispatcher/dispatcher.js"></script>
<script src="/common/utils.js"></script>
<script src="../resources/utils.js"></script>
<script src="resources/utils.sub.js"></script>
<!-- Regression test for https://issues.chromium.org/issues/381099745 -->

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

  promise_test(async t => {
    let agent = await spawnWindow(t);
    let nextUrl = agent.getExecutorURL({ executor: "conditional-status.py" });
    await agent.forceSinglePrefetch(nextUrl);
    await agent.navigate(nextUrl);

    const result = await agent.execute_script(() => {
      return document.body.textContent;
    });

    assert_equals(result, "200", "Should use the non-prefetched 200, instead of the prefetched 503");
  }, "Check that the HTTP cache doesn't cache when the server conditionally responds with 503 for prefetch requests.");
</script>
