Bug 1504103 [wpt PR 13849] - Fetch: Access-Control-Expose-Headers parsing, a=testonly

Automatic update from web-platform-testsFetch: Access-Control-Expose-Headers parsing

See https://github.com/whatwg/fetch/issues/814 for context.
--

wpt-commits: 645c0e8a5c028a613e7ad1732834100dbe946fc7
wpt-pr: 13849
This commit is contained in:
Anne van Kesteren 2018-11-15 10:14:51 +00:00 коммит произвёл moz-wptsync-bot
Родитель 3b024bc291
Коммит e75d5c6f8a
5 изменённых файлов: 85 добавлений и 26 удалений

Просмотреть файл

@ -1,13 +1,15 @@
function exposeTest(resource, desc) { promise_test(() => fetch("resources/access-control-expose-headers.json").then(res => res.json()).then(runTests), "Loading JSON…");
const url = new URL("resources/" + resource, location.href).href.replace("://", "://élève.");
promise_test(() => { function runTests(allTestData) {
return fetch(url).then(res => { allTestData.forEach(testData => {
assert_equals(res.headers.get("content-language"), "sure") const encodedInput = encodeURIComponent(testData.input);
assert_equals(res.headers.get("x-custom"), null); promise_test(() => {
}) const relativeURL = "resources/expose-headers.py?expose=" + encodedInput,
}, "Access-Control-Expose-Headers parsing: " + desc); url = new URL(relativeURL, location.href).href.replace("://", "://élève.");
return fetch(url).then(res => {
assert_equals(res.headers.get("content-language"), "mkay");
assert_equals(res.headers.get("bb-8"), (testData.exposed ? "hey" : null));
});
}, "Parsing: " + encodedInput);
})
} }
exposeTest("access-control-expose-headers-parsing.asis", "#1");
exposeTest("access-control-expose-headers-parsing-2.asis", "#2")

Просмотреть файл

@ -1,8 +0,0 @@
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: not valid
Access-Control-Expose-Headers: x-custom
X-Custom: test
Content-Language: sure
TEST

Просмотреть файл

@ -1,7 +0,0 @@
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: not valid, x-custom
X-Custom: test
Content-Language: sure
TEST

Просмотреть файл

@ -0,0 +1,62 @@
[
{
"input": "access-control-expose-headers: BB-8",
"exposed": true
},
{
"input": "Access-Control-Expose-Headers: bb-8,,@#$#%%&^&^*()()11!",
"exposed": false
},
{
"input": "Access-Control-Expose-Headers: bb-8, no no",
"exposed": false
},
{
"input": "Access-Control-Expose-Headers: @#$#%%&^&^*()()11!,bb-8",
"exposed": false
},
{
"input": "Access-Control-Expose-Headers: bb-8\r\nAccess-Control-Expose-Headers: no",
"exposed": true
},
{
"input": "Access-Control-Expose-Headers: bb-8\r\nAccess-Control-Expose-Headers: no no",
"exposed": false
},
{
"input": "Access-Control-Expose-Headers: no\r\nAccess-Control-Expose-Headers: bb-8",
"exposed": true
},
{
"input": "Access-Control-Expose-Headers:\r\nAccess-Control-Expose-Headers: bb-8",
"exposed": true
},
{
"input": "Access-Control-Expose-Headers: ,bb-8",
"exposed": true
},
{
"input": "Access-Control-Expose-Headers: bb-8\u000C",
"exposed": false
},
{
"input": "Access-Control-Expose-Headers: bb-8\u000B",
"exposed": false
},
{
"input": "Access-Control-Expose-Headers: bb-8\u000B,bb-8",
"exposed": false
},
{
"input": "Access-Control-Expose-Headers: 'bb-8'",
"exposed": false
},
{
"input": "Access-Control-Expose-Headers: 'bb-8',bb-8",
"exposed": true
},
{
"input": "Access-Control-Expose-Headers: \"bb-8\",bb-8",
"exposed": false
}
]

Просмотреть файл

@ -0,0 +1,10 @@
def main(request, response):
response.add_required_headers = False
output = "HTTP/1.1 221 ALL YOUR BASE BELONG TO H1\r\n"
output += "Access-Control-Allow-Origin: *\r\n"
output += "BB-8: hey\r\n"
output += "Content-Language: mkay\r\n"
output += request.GET.first("expose") + "\r\n"
output += "\r\n"
response.writer.write(output)
response.close_connection = True