<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Request cache - no store</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="request-cache.js"></script>
  </head>
  <body>
    <script>
    var tests = [
      {
        name: 'RequestCache "no-store" mode does not check the cache for previously cached content and goes to the network regardless',
        state: "stale",
        request_cache: ["default", "no-store"],
        expected_validation_headers: [false, false],
        expected_no_cache_headers: [false, true],
      },
      {
        name: 'RequestCache "no-store" mode does not check the cache for previously cached content and goes to the network regardless',
        state: "fresh",
        request_cache: ["default", "no-store"],
        expected_validation_headers: [false, false],
        expected_no_cache_headers: [false, true],
      },
      {
        name: 'RequestCache "no-store" mode does not store the response in the cache',
        state: "stale",
        request_cache: ["no-store", "default"],
        expected_validation_headers: [false, false],
        expected_no_cache_headers: [true, false],
      },
      {
        name: 'RequestCache "no-store" mode does not store the response in the cache',
        state: "fresh",
        request_cache: ["no-store", "default"],
        expected_validation_headers: [false, false],
        expected_no_cache_headers: [true, false],
      },
    ];
    run_tests(tests);
    </script>
  </body>
</html>
