mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Update web-platform-tests to revision 50ff4f970fd8592a9f436d4e86e7d572de143260
This commit is contained in:
parent
82bbf3ad45
commit
8ea5658199
150 changed files with 4737 additions and 998 deletions
|
@ -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')");
|
|
@ -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}'`);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue