summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fetch/content-type/resources
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/fetch/content-type/resources')
-rw-r--r--testing/web-platform/tests/fetch/content-type/resources/content-type.py18
-rw-r--r--testing/web-platform/tests/fetch/content-type/resources/content-types.json122
-rw-r--r--testing/web-platform/tests/fetch/content-type/resources/script-content-types.json92
3 files changed, 232 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fetch/content-type/resources/content-type.py b/testing/web-platform/tests/fetch/content-type/resources/content-type.py
new file mode 100644
index 0000000000..1f077b6289
--- /dev/null
+++ b/testing/web-platform/tests/fetch/content-type/resources/content-type.py
@@ -0,0 +1,18 @@
+from wptserve.utils import isomorphic_encode
+
+def main(request, response):
+ values = request.GET.get_list(b"value")
+ content = request.GET.first(b"content", b"<b>hi</b>\n")
+ output = b"HTTP/1.1 200 OK\r\n"
+ output += b"X-Content-Type-Options: nosniff\r\n"
+ if b"single_header" in request.GET:
+ output += b"Content-Type: " + b",".join(values) + b"\r\n"
+ else:
+ for value in values:
+ output += b"Content-Type: " + value + b"\r\n"
+ output += b"Content-Length: " + isomorphic_encode(str(len(content))) + b"\r\n"
+ output += b"Connection: close\r\n"
+ output += b"\r\n"
+ output += content
+ response.writer.write(output)
+ response.close_connection = True
diff --git a/testing/web-platform/tests/fetch/content-type/resources/content-types.json b/testing/web-platform/tests/fetch/content-type/resources/content-types.json
new file mode 100644
index 0000000000..9578fc503c
--- /dev/null
+++ b/testing/web-platform/tests/fetch/content-type/resources/content-types.json
@@ -0,0 +1,122 @@
+[
+ {
+ "contentType": ["", "text/plain"],
+ "encoding": null,
+ "mimeType": "text/plain",
+ "documentContentType": "text/plain"
+ },
+ {
+ "contentType": ["text/plain", ""],
+ "encoding": null,
+ "mimeType": "text/plain",
+ "documentContentType": "text/plain"
+ },
+ {
+ "contentType": ["text/html", "text/plain"],
+ "encoding": null,
+ "mimeType": "text/plain",
+ "documentContentType": "text/plain"
+ },
+ {
+ "contentType": ["text/plain;charset=gbk", "text/html"],
+ "encoding": null,
+ "mimeType": "text/html",
+ "documentContentType": "text/html"
+ },
+ {
+ "contentType": ["text/plain;charset=gbk", "text/html;charset=windows-1254"],
+ "encoding": "windows-1254",
+ "mimeType": "text/html;charset=windows-1254",
+ "documentContentType": "text/html"
+ },
+ {
+ "contentType": ["text/plain;charset=gbk", "text/plain"],
+ "encoding": "GBK",
+ "mimeType": "text/plain;charset=gbk",
+ "documentContentType": "text/plain"
+ },
+ {
+ "contentType": ["text/plain;charset=gbk", "text/plain;charset=windows-1252"],
+ "encoding": "windows-1252",
+ "mimeType": "text/plain;charset=windows-1252",
+ "documentContentType": "text/plain"
+ },
+ {
+ "contentType": ["text/html;charset=gbk", "text/html;x=\",text/plain"],
+ "encoding": "GBK",
+ "mimeType": "text/html;x=\",text/plain\";charset=gbk",
+ "documentContentType": "text/html"
+ },
+ {
+ "contentType": ["text/plain;charset=gbk;x=foo", "text/plain"],
+ "encoding": "GBK",
+ "mimeType": "text/plain;charset=gbk",
+ "documentContentType": "text/plain"
+ },
+ {
+ "contentType": ["text/html;charset=gbk", "text/plain", "text/html"],
+ "encoding": null,
+ "mimeType": "text/html",
+ "documentContentType": "text/html"
+ },
+ {
+ "contentType": ["text/plain", "*/*"],
+ "encoding": null,
+ "mimeType": "text/plain",
+ "documentContentType": "text/plain"
+ },
+ {
+ "contentType": ["text/html", "*/*"],
+ "encoding": null,
+ "mimeType": "text/html",
+ "documentContentType": "text/html"
+ },
+ {
+ "contentType": ["*/*", "text/html"],
+ "encoding": null,
+ "mimeType": "text/html",
+ "documentContentType": "text/html"
+ },
+ {
+ "contentType": ["text/plain", "*/*;charset=gbk"],
+ "encoding": null,
+ "mimeType": "text/plain",
+ "documentContentType": "text/plain"
+ },
+ {
+ "contentType": ["text/html", "*/*;charset=gbk"],
+ "encoding": null,
+ "mimeType": "text/html",
+ "documentContentType": "text/html"
+ },
+ {
+ "contentType": ["text/html;x=\"", "text/plain"],
+ "encoding": null,
+ "mimeType": "text/html;x=\", text/plain\"",
+ "documentContentType": "text/html"
+ },
+ {
+ "contentType": ["text/html;\"", "text/plain"],
+ "encoding": null,
+ "mimeType": "text/html",
+ "documentContentType": "text/html"
+ },
+ {
+ "contentType": ["text/html;\"", "\\\"", "text/plain"],
+ "encoding": null,
+ "mimeType": "text/html",
+ "documentContentType": "text/html"
+ },
+ {
+ "contentType": ["text/html;\"", "\\\"", "text/plain", "\";charset=GBK"],
+ "encoding": "GBK",
+ "mimeType": "text/html;charset=GBK",
+ "documentContentType": "text/html"
+ },
+ {
+ "contentType": ["text/html;\"", "\"", "text/plain"],
+ "encoding": null,
+ "mimeType": "text/plain",
+ "documentContentType": "text/plain"
+ }
+]
diff --git a/testing/web-platform/tests/fetch/content-type/resources/script-content-types.json b/testing/web-platform/tests/fetch/content-type/resources/script-content-types.json
new file mode 100644
index 0000000000..b8a843bcd8
--- /dev/null
+++ b/testing/web-platform/tests/fetch/content-type/resources/script-content-types.json
@@ -0,0 +1,92 @@
+[
+ {
+ "contentType": ["text/javascript;charset=windows-1252"],
+ "executes": true,
+ "encoding": "windows-1252"
+ },
+ {
+ "contentType": ["text/javascript;\";charset=windows-1252"],
+ "executes": true,
+ "encoding": "windows-1252"
+ },
+ {
+ "contentType": ["text/javascript\u000C"],
+ "executes": false,
+ "encoding": null
+ },
+ {
+ "contentType": ["\"text/javascript\""],
+ "executes": false,
+ "encoding": null
+ },
+ {
+ "contentType": ["text/ javascript"],
+ "executes": false,
+ "encoding": null
+ },
+ {
+ "contentType": ["text /javascript"],
+ "executes": false,
+ "encoding": null
+ },
+ {
+ "contentType": ["x/x", "text/javascript"],
+ "executes": true,
+ "encoding": null
+ },
+ {
+ "contentType": ["x/x;charset=windows-1252", "text/javascript"],
+ "executes": true,
+ "encoding": null
+ },
+ {
+ "contentType": ["text/javascript", "x/x"],
+ "executes": false,
+ "encoding": null
+ },
+ {
+ "contentType": ["text/javascript; charset=windows-1252", "text/javascript"],
+ "executes": true,
+ "encoding": "windows-1252"
+ },
+ {
+ "contentType": ["text/javascript;\"", "x/x"],
+ "executes": true,
+ "encoding": null
+ },
+ {
+ "contentType": ["text/javascript", ""],
+ "executes": true,
+ "encoding": null
+ },
+ {
+ "contentType": ["text/javascript", "error"],
+ "executes": true,
+ "encoding": null
+ },
+ {
+ "contentType": ["text/javascript;charset=windows-1252", "x/x", "text/javascript"],
+ "executes": true,
+ "encoding": null
+ },
+ {
+ "contentType": ["text/javascript;charset=windows-1252", "error", "text/javascript"],
+ "executes": true,
+ "encoding": "windows-1252"
+ },
+ {
+ "contentType": ["text/javascript;charset=windows-1252", "", "text/javascript"],
+ "executes": true,
+ "encoding": "windows-1252"
+ },
+ {
+ "contentType": ["text/javascript;charset=windows-1252;\"", "\\\"", "x/x"],
+ "executes": true,
+ "encoding": "windows-1252"
+ },
+ {
+ "contentType": ["x/x;\"", "x/y;\\\"", "text/javascript;charset=windows-1252;\"", "text/javascript"],
+ "executes": true,
+ "encoding": null
+ }
+]