- From: Adam Rice <notifications@github.com>
- Date: Tue, 22 Aug 2017 15:13:26 +0000 (UTC)
- To: whatwg/streams <streams@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Tuesday, 22 August 2017 15:13:56 UTC
I think the following test should pass:
```javascript
promise_test(t => {
const ts = recordingIdentityTransformStream();
const rs = new ReadableStream({
start(controller) {
controller.enqueue(0);
controller.enqueue(1);
controller.enqueue(2);
controller.close();
}
});
const pipeToPromise = rs.pipeTo(ts.writable);
return delay(0).then(() => {
assert_array_equals(ts.events, ['transform', 0], 'transform() should have seen one chunk');
ts.controller.close();
return promise_rejects(t, new TypeError(), pipeToPromise, 'enqueuing the second chunk should fail');
}).then(() => {
assert_array_equals(ts.events, ['transform', 0, 'transform', 1], 'transform() should have seen two chunks');
});
}, 'closing readable should permit remaining chunks to be processed');
```
Currently `pipeToPromise` never becomes settled because the second chunk is never written.
I think this should work. Having a method which blocks the pipe permanently if you call it when there is backpressure doesn't seem very useful to me.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/issues/774
Received on Tuesday, 22 August 2017 15:13:56 UTC