- From: Domenic Denicola <notifications@github.com>
- Date: Wed, 08 Mar 2017 11:15:37 -0800
- To: whatwg/streams <streams@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/streams/pull/689/review/25857911@github.com>
domenic commented on this pull request. > @@ -300,4 +300,36 @@ promise_test(() => { return readableStreamToArray(ts.readable); }, 'methods should not not have .apply() or .call() called'); +promise_test(t => { + const transformer = { + transform() { + transformer.transform = undefined; + throw new TypeError(); + } + }; + const ts = new TransformStream(transformer); + return Promise.all([ + promise_rejects(t, new TypeError(), ts.writable.getWriter().write('a'), 'write() should throw'), + promise_rejects(t, new TypeError(), ts.readable.getReader().read(), 'read() should throw') It's a little unclear to me whether these throw because it's undefined or throw because you threw a TypeError. If you're testing that the code gets exercised, then maybe setting a boolean, or using the `error1` pattern, would be clearer. > + return Promise.all([ + promise_rejects(t, new TypeError(), ts.writable.getWriter().write('a'), 'write() should throw'), + promise_rejects(t, new TypeError(), ts.readable.getReader().read(), 'read() should throw') + ]); +}, 'transformer.transform should be checked for undefined before being called'); + +promise_test(() => { + let transformGetterCalls = 0; + const ts = new TransformStream({ + get transform() { + ++transformGetterCalls; + return (chunk, controller) => controller.enqueue(chunk); + } + }); + const writer = ts.writable.getWriter(); + writer.write('a'); Maybe write more than one chunk to ensure it doesn't look it up once for each chunk? -- 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/pull/689#pullrequestreview-25857911
Received on Wednesday, 8 March 2017 19:16:10 UTC