Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

// META: global=window,worker,shadowrealm
'use strict';
promise_test(t => {
let isDone = false;
const ws = new WritableStream(
{
write() {
return new Promise(resolve => {
t.step_timeout(() => {
isDone = true;
resolve();
}, 200);
});
},
close() {
assert_true(isDone, 'close is only called once the promise has been resolved');
}
},
new ByteLengthQueuingStrategy({ highWaterMark: 1024 * 16 })
);
const writer = ws.getWriter();
writer.write({ byteLength: 1024 });
return writer.close();
}, 'Closing a writable stream with in-flight writes below the high water mark delays the close call properly');