<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>HTTP Cache - Status Codes</title>
    <meta name="help" href="https://fetch.spec.whatwg.org/#request">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/common/utils.js"></script>
    <script src="/common/get-host-info.sub.js"></script>
    <script src="http-cache.js"></script>
  </head>
  <body>
    <script>
    var tests = [];
    function check_status(status) {
      var code = status[0];
      var phrase = status[1];
      var body = status[2];
      if (body === undefined) {
        body = http_content(code);
      }
      tests.push({
        name: "HTTP cache goes to the network if it has a stale " + code + " response",
        requests: [
          {
            template: "stale",
            response_status: [code, phrase],
            response_body: body
          }, {
            expected_type: "not_cached",
            response_status: [code, phrase],
            response_body: body
          }
        ]
      })
      tests.push({
        name: "HTTP cache avoids going to the network if it has a fresh " + code + " response",
        requests: [
          {
            template: "fresh",
            response_status: [code, phrase],
            response_body: body
          }, {
            expected_type: "cached",
            response_status: [code, phrase],
            response_body: body
          }
        ]
      })
    }
    [
      [200, "OK"],
      [203, "Non-Authoritative Information"],
      [204, "No Content", null],
      [299, "Whatever"],
      [400, "Bad Request"],
      [404, "Not Found"],
      [410, "Gone"],
      [499, "Whatever"],
      [500, "Internal Server Error"],
      [502, "Bad Gateway"],
      [503, "Service Unavailable"],
      [504, "Gateway Timeout"],
      [599, "Whatever"]
    ].forEach(check_status);
    run_tests(tests);
    </script>
  </body>
</html>
