81 lines
2.1 KiB
HTML
81 lines
2.1 KiB
HTML
<!DOCTYPE html>
|
|
<script src='../resources/testharness.js'></script>
|
|
<script src='../resources/testharnessreport.js'></script>
|
|
<script>
|
|
promise_test(async () => {
|
|
const chunks = [];
|
|
const stream = new ReadableStream({
|
|
start : (controller) => {
|
|
controller.close();
|
|
}
|
|
});
|
|
await new Promise(resolve => setTimeout(resolve, 0));
|
|
const reader = stream.getReader();
|
|
|
|
Object.prototype.then = function(chunk) {
|
|
chunks.push(chunk);
|
|
}
|
|
await reader.read();
|
|
delete Object.prototype.then;
|
|
|
|
assert_array_equals(chunks, []);
|
|
}, 'close synchronously');
|
|
|
|
promise_test(async () => {
|
|
const chunks = [];
|
|
const stream = new ReadableStream({
|
|
start : (controller) => {
|
|
controller.close();
|
|
}
|
|
});
|
|
await new Promise(resolve => setTimeout(resolve, 0));
|
|
const reader = stream.getReader();
|
|
|
|
Object.prototype.then = function(chunk) {
|
|
chunks.push(chunk);
|
|
}
|
|
await reader.read();
|
|
delete Object.prototype.then;
|
|
|
|
assert_array_equals(chunks, []);
|
|
}, 'close asynchronously');
|
|
|
|
promise_test(async () => {
|
|
const chunks = [];
|
|
const stream = new ReadableStream({
|
|
start : async (controller) => {
|
|
await new Promise(resolve => setTimeout(resolve, 0));
|
|
controller.enqueue('chunk');
|
|
}
|
|
});
|
|
const reader = stream.getReader();
|
|
|
|
Object.prototype.then = function(chunk) {
|
|
chunks.push(chunk);
|
|
}
|
|
await reader.read();
|
|
delete Object.prototype.then;
|
|
|
|
assert_array_equals(chunks, []);
|
|
}, 'enqueue synchronously');
|
|
|
|
promise_test(async () => {
|
|
const chunks = [];
|
|
const stream = new ReadableStream({
|
|
start : async (controller) => {
|
|
await new Promise(resolve => setTimeout(resolve, 0));
|
|
controller.enqueue('chunk');
|
|
}
|
|
});
|
|
const reader = stream.getReader();
|
|
|
|
Object.prototype.then = function(chunk) {
|
|
chunks.push(chunk);
|
|
}
|
|
await reader.read();
|
|
delete Object.prototype.then;
|
|
|
|
assert_array_equals(chunks, []);
|
|
}, 'enqueue asynchronously');
|
|
</script>
|