mirror of
https://github.com/servo/servo.git
synced 2025-06-26 01:54:33 +01:00
57 lines
1.9 KiB
JavaScript
57 lines
1.9 KiB
JavaScript
// META: global=window,worker
|
|
// META: title=Response consume blob and http bodies
|
|
// META: script=../resources/utils.js
|
|
|
|
promise_test(function(test) {
|
|
return new Response(new Blob([], { "type" : "text/plain" })).body.cancel();
|
|
}, "Cancelling a starting blob Response stream");
|
|
|
|
promise_test(function(test) {
|
|
var response = new Response(new Blob(["This is data"], { "type" : "text/plain" }));
|
|
var reader = response.body.getReader();
|
|
reader.read();
|
|
return reader.cancel();
|
|
}, "Cancelling a loading blob Response stream");
|
|
|
|
promise_test(function(test) {
|
|
var response = new Response(new Blob(["T"], { "type" : "text/plain" }));
|
|
var reader = response.body.getReader();
|
|
|
|
var closedPromise = reader.closed.then(function() {
|
|
return reader.cancel();
|
|
});
|
|
reader.read().then(function readMore({done, value}) {
|
|
if (!done) return reader.read().then(readMore);
|
|
});
|
|
return closedPromise;
|
|
}, "Cancelling a closed blob Response stream");
|
|
|
|
promise_test(function(test) {
|
|
return fetch(RESOURCES_DIR + "trickle.py?ms=30&count=100").then(function(response) {
|
|
return response.body.cancel();
|
|
});
|
|
}, "Cancelling a starting Response stream");
|
|
|
|
promise_test(function() {
|
|
return fetch(RESOURCES_DIR + "trickle.py?ms=30&count=100").then(function(response) {
|
|
var reader = response.body.getReader();
|
|
return reader.read().then(function() {
|
|
return reader.cancel();
|
|
});
|
|
});
|
|
}, "Cancelling a loading Response stream");
|
|
|
|
promise_test(function() {
|
|
async function readAll(reader) {
|
|
while (true) {
|
|
const {value, done} = await reader.read();
|
|
if (done)
|
|
return;
|
|
}
|
|
}
|
|
|
|
return fetch(RESOURCES_DIR + "top.txt").then(function(response) {
|
|
var reader = response.body.getReader();
|
|
return readAll(reader).then(() => reader.cancel());
|
|
});
|
|
}, "Cancelling a closed Response stream");
|