summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fetch/http-cache/status.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/fetch/http-cache/status.any.js')
-rw-r--r--testing/web-platform/tests/fetch/http-cache/status.any.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fetch/http-cache/status.any.js b/testing/web-platform/tests/fetch/http-cache/status.any.js
new file mode 100644
index 0000000000..10c83a25a2
--- /dev/null
+++ b/testing/web-platform/tests/fetch/http-cache/status.any.js
@@ -0,0 +1,60 @@
+// META: global=window,worker
+// META: title=HTTP Cache - Status Codes
+// META: timeout=long
+// META: script=/common/utils.js
+// META: script=/common/get-host-info.sub.js
+// META: script=http-cache.js
+
+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);