Update web-platform-tests to revision 50ff4f970fd8592a9f436d4e86e7d572de143260

This commit is contained in:
WPT Sync Bot 2018-09-20 21:31:18 -04:00
parent 82bbf3ad45
commit 8ea5658199
150 changed files with 4737 additions and 998 deletions

View file

@ -0,0 +1,11 @@
// META: global=window,worker
promise_test(async t => {
const response = await fetch("../../../xhr/resources/headers-basic.asis");
assert_equals(response.headers.get("foo-test"), "1, 2, 3");
}, "response.headers.get('foo-test')");
promise_test(async t => {
const response = await fetch("../../../xhr/resources/headers-www-authenticate.asis");
assert_equals(response.headers.get("www-authenticate"), "1, 2, 3, 4");
}, "response.headers.get('www-authenticate')");

View file

@ -0,0 +1,54 @@
// META: global=worker
// These tests verify that stream creation is not affected by changes to
// Object.prototype.
const creationCases = {
fetch: async () => fetch(location.href),
request: () => new Request(location.href, {method: 'POST', body: 'hi'}),
response: () => new Response('bye'),
consumeEmptyResponse: () => new Response().text(),
consumeNonEmptyResponse: () => new Response(new Uint8Array([64])).text(),
consumeEmptyRequest: () => new Request(location.href).text(),
consumeNonEmptyRequest: () => new Request(location.href,
{method: 'POST', body: 'yes'}).arrayBuffer(),
};
for (creationCase of Object.keys(creationCases)) {
for (accessorName of ['start', 'type', 'size', 'highWaterMark']) {
promise_test(async t => {
Object.defineProperty(Object.prototype, accessorName, {
get() { throw Error(`Object.prototype.${accessorName} was accessed`); },
configurable: true
});
t.add_cleanup(() => {
delete Object.prototype[accessorName];
return Promise.resolve();
});
await creationCases[creationCase]();
}, `throwing Object.prototype.${accessorName} accessor should not affect ` +
`stream creation by '${creationCase}'`);
promise_test(async t => {
// -1 is a convenient value which is invalid, and should cause the
// constructor to throw, for all four fields.
Object.prototype[accessorName] = -1;
t.add_cleanup(() => {
delete Object.prototype[accessorName];
return Promise.resolve();
});
await creationCases[creationCase]();
}, `Object.prototype.${accessorName} accessor returning invalid value ` +
`should not affect stream creation by '${creationCase}'`);
}
promise_test(async t => {
Object.prototype.start = controller => controller.error(new Error('start'));
t.add_cleanup(() => {
delete Object.prototype.start;
return Promise.resolve();
});
await creationCases[creationCase]();
}, `Object.prototype.start function which errors the stream should not ` +
`affect stream creation by '${creationCase}'`);
}