mirror of
https://github.com/servo/servo.git
synced 2025-08-19 12:25:33 +01:00
Update web-platform-tests to revision 0d9238c8062f05a55898a0cb60dc0c353794d87a
This commit is contained in:
parent
c80fa33864
commit
7e8624d921
57 changed files with 5290 additions and 266 deletions
|
@ -0,0 +1,148 @@
|
|||
'use strict';
|
||||
|
||||
if (self.importScripts) {
|
||||
self.importScripts('/resources/testharness.js');
|
||||
self.importScripts('../resources/test-utils.js');
|
||||
self.importScripts('../resources/rs-test-templates.js');
|
||||
}
|
||||
|
||||
// Run the readable stream test templates against readable streams created directly using the constructor
|
||||
|
||||
const theError = { name: 'boo!' };
|
||||
const chunks = ['a', 'b'];
|
||||
|
||||
templatedRSEmpty('ReadableStream (empty)', () => {
|
||||
return new ReadableStream();
|
||||
});
|
||||
|
||||
templatedRSEmptyReader('ReadableStream (empty) reader', () => {
|
||||
return streamAndDefaultReader(new ReadableStream());
|
||||
});
|
||||
|
||||
templatedRSClosed('ReadableStream (closed via call in start)', () => {
|
||||
return new ReadableStream({
|
||||
start(c) {
|
||||
c.close();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
templatedRSClosedReader('ReadableStream reader (closed before getting reader)', () => {
|
||||
let controller;
|
||||
const stream = new ReadableStream({
|
||||
start(c) {
|
||||
controller = c;
|
||||
}
|
||||
});
|
||||
controller.close();
|
||||
const result = streamAndDefaultReader(stream);
|
||||
return result;
|
||||
});
|
||||
|
||||
templatedRSClosedReader('ReadableStream reader (closed after getting reader)', () => {
|
||||
let controller;
|
||||
const stream = new ReadableStream({
|
||||
start(c) {
|
||||
controller = c;
|
||||
}
|
||||
});
|
||||
const result = streamAndDefaultReader(stream);
|
||||
controller.close();
|
||||
return result;
|
||||
});
|
||||
|
||||
templatedRSClosed('ReadableStream (closed via cancel)', () => {
|
||||
const stream = new ReadableStream();
|
||||
stream.cancel();
|
||||
return stream;
|
||||
});
|
||||
|
||||
templatedRSClosedReader('ReadableStream reader (closed via cancel after getting reader)', () => {
|
||||
const stream = new ReadableStream();
|
||||
const result = streamAndDefaultReader(stream);
|
||||
result.reader.cancel();
|
||||
return result;
|
||||
});
|
||||
|
||||
templatedRSErrored('ReadableStream (errored via call in start)', () => {
|
||||
return new ReadableStream({
|
||||
start(c) {
|
||||
c.error(theError);
|
||||
}
|
||||
});
|
||||
}, theError);
|
||||
|
||||
templatedRSErroredSyncOnly('ReadableStream (errored via call in start)', () => {
|
||||
return new ReadableStream({
|
||||
start(c) {
|
||||
c.error(theError);
|
||||
}
|
||||
});
|
||||
}, theError);
|
||||
|
||||
templatedRSErrored('ReadableStream (errored via returning a rejected promise in start)', () => {
|
||||
return new ReadableStream({
|
||||
start() {
|
||||
return Promise.reject(theError);
|
||||
}
|
||||
});
|
||||
}, theError);
|
||||
|
||||
templatedRSErroredReader('ReadableStream (errored via returning a rejected promise in start) reader', () => {
|
||||
return streamAndDefaultReader(new ReadableStream({
|
||||
start() {
|
||||
return Promise.reject(theError);
|
||||
}
|
||||
}));
|
||||
}, theError);
|
||||
|
||||
templatedRSErroredReader('ReadableStream reader (errored before getting reader)', () => {
|
||||
let controller;
|
||||
const stream = new ReadableStream({
|
||||
start(c) {
|
||||
controller = c;
|
||||
}
|
||||
});
|
||||
controller.error(theError);
|
||||
return streamAndDefaultReader(stream);
|
||||
}, theError);
|
||||
|
||||
templatedRSErroredReader('ReadableStream reader (errored after getting reader)', () => {
|
||||
let controller;
|
||||
const result = streamAndDefaultReader(new ReadableStream({
|
||||
start(c) {
|
||||
controller = c;
|
||||
}
|
||||
}));
|
||||
controller.error(theError);
|
||||
return result;
|
||||
}, theError);
|
||||
|
||||
templatedRSTwoChunksOpenReader('ReadableStream (two chunks enqueued, still open) reader', () => {
|
||||
return streamAndDefaultReader(new ReadableStream({
|
||||
start(c) {
|
||||
c.enqueue(chunks[0]);
|
||||
c.enqueue(chunks[1]);
|
||||
}
|
||||
}));
|
||||
}, chunks);
|
||||
|
||||
templatedRSTwoChunksClosedReader('ReadableStream (two chunks enqueued, then closed) reader', () => {
|
||||
let doClose;
|
||||
const stream = new ReadableStream({
|
||||
start(c) {
|
||||
c.enqueue(chunks[0]);
|
||||
c.enqueue(chunks[1]);
|
||||
doClose = c.close.bind(c);
|
||||
}
|
||||
});
|
||||
const result = streamAndDefaultReader(stream);
|
||||
doClose();
|
||||
return result;
|
||||
}, chunks);
|
||||
|
||||
function streamAndDefaultReader(stream) {
|
||||
return { stream, reader: stream.getReader() };
|
||||
}
|
||||
|
||||
done();
|
Loading…
Add table
Add a link
Reference in a new issue