| <!DOCTYPE html> |
| <body> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <script src="support/clear-cache-helper.sub.js"></script> |
| <script> |
| |
| promise_test(test => { |
| const TEST_SITE = { |
| cache: true, |
| clearFirst: "cache", |
| }; |
| return testCacheClear(test, [TEST_SITE, TEST_SITE], assert_not_equals); |
| }, "clear cache: Document with clear-cache header doesn't get cached"); |
| |
| promise_test(test => { |
| const TEST_SITE = { |
| cache: true, |
| clearFirst: "all", |
| }; |
| return testCacheClear(test, [TEST_SITE, TEST_SITE], assert_not_equals); |
| }, "clear all: Document with clear-cache header doesn't get cached"); |
| |
| promise_test(test => { |
| const TEST_SITE_INITAL = { |
| response: "html_embed_json", |
| clear: "cache", |
| }; |
| const TEST_SITE_FINAL = { |
| response: "html_embed_json", |
| }; |
| // Clear-Cache header doesn't affect fetch on document due to clear-cache |
| // being initiated in a point of time. The fetch happens later and stays |
| // in the cache. |
| return testCacheClear(test, [TEST_SITE_INITAL, TEST_SITE_FINAL], assert_equals); |
| }, "clear cache: Fetch on docment with clear-cache header is unaffected"); |
| |
| promise_test(test => { |
| const TEST_SITE_INITAL = { |
| response: "html_embed_json", |
| clear: "all", |
| }; |
| const TEST_SITE_FINAL = { |
| response: "html_embed_json", |
| }; |
| // same as above |
| return testCacheClear(test, [TEST_SITE_INITAL, TEST_SITE_FINAL], assert_equals); |
| }, "clear all: Fetch on docment with clear-cache header is unaffected"); |
| |
| promise_test(test => { |
| const TEST_SITE_INITAL = { |
| response: "html_embed_json", |
| }; |
| const TEST_SITE_FINAL = { |
| response: "html_embed_json", |
| clear: "cache", |
| }; |
| return testCacheClear(test, [TEST_SITE_INITAL, TEST_SITE_FINAL], assert_not_equals); |
| }, "clear cache: Previously cached fetch gets cleared"); |
| |
| promise_test(test => { |
| const TEST_SITE_INITAL = { |
| response: "html_embed_json", |
| }; |
| const TEST_SITE_FINAL = { |
| response: "html_embed_json", |
| clear: "all", |
| }; |
| return testCacheClear(test, [TEST_SITE_INITAL, TEST_SITE_FINAL], assert_not_equals); |
| }, "clear all: Previously cached fetch gets cleared"); |
| |
| promise_test(test => { |
| const TEST_SITE = { |
| response: "html_embed_json", |
| }; |
| const TEST_SITE_CLEAR = { |
| clear: "cache", |
| }; |
| return testCacheClear(test, [TEST_SITE, TEST_SITE_CLEAR, TEST_SITE], assert_not_equals); |
| }, "clear cache: Clear fetch on intermediate navigation"); |
| |
| promise_test(test => { |
| const TEST_SITE = { |
| response: "html_embed_json", |
| }; |
| const TEST_SITE_CLEAR = { |
| clear: "all", |
| }; |
| return testCacheClear(test, [TEST_SITE, TEST_SITE_CLEAR, TEST_SITE], assert_not_equals); |
| }, "clear all: Clear fetch on intermediate navigation"); |
| |
| promise_test(test => { |
| const TEST_SITE = { |
| cache: true, |
| }; |
| const TEST_SITE_CLEAR = { |
| clear: "cache", |
| }; |
| return testCacheClear(test, [TEST_SITE, TEST_SITE_CLEAR, TEST_SITE], assert_not_equals); |
| }, "clear cache: Clear document in intermediate load"); |
| |
| promise_test(test => { |
| const TEST_SITE = { |
| cache: true, |
| }; |
| const TEST_SITE_CLEAR = { |
| clear: "all", |
| }; |
| return testCacheClear(test, [TEST_SITE, TEST_SITE_CLEAR, TEST_SITE], assert_not_equals); |
| }, "clear all: Clear document in intermediate load"); |
| |
| </script> |
| </body> |
| </html> |