- From: Adam Rice <notifications@github.com>
- Date: Wed, 09 Nov 2016 01:58:14 -0800
- To: whatwg/streams <streams@noreply.github.com>
- Message-ID: <whatwg/streams/pull/604/review/7780361@github.com>
ricea commented on this pull request. I've reviewed all the diffs and everything looks good. Please take a look at my comments. > + +promise_test(t => { + const sizes = [NaN, -Infinity, Infinity, -1]; + return Promise.all(sizes.map(size => { + let theError; + const ws = new WritableStream({}, { + size() { + return size; + }, + highWaterMark: 5 + }); + + const writer = ws.getWriter(); + + return Promise.all([ + promise_rejects(t, new RangeError(), writer.write('a').catch(r => { Use promise_rejects is just making this more complicated and harder to understand, so I suggest doing something closer to the original. For example (untested): ```javascript return writer.write('a').then( () => assert_unreached('write should not fulfill'); r => { assert_equals(r.name, 'RangeError', `write should reject with a RangeError for ${size}`); let theError = r; return writer.closed.then( () => assert_unreached('closed should not fulfill'), e => assert_equals(e, theError, `closed should reject with the same error for ${size}`)); )); ``` This removes the implicit test that the write() promise fulfills before the closed promise. If you are feeling energetic you could add an explicit test of that fact. > + +const thrownError = new Error('bad things are happening!'); +thrownError.name = 'error1'; + +promise_test(t => { + const results = []; + + const ts = new TransformStream({ + transform() { + throw thrownError; + } + }); + + const reader = ts.readable.getReader(); + + results.push(promise_rejects(t, thrownError, reader.read(), I agree with @domenic that the |results| array doesn't really help with readability. > + }); + + const reader = ts.readable.getReader(); + + results.push(promise_rejects(t, thrownError, reader.read(), + 'readable\'s read should reject with the thrown error')); + + results.push(promise_rejects(t, thrownError, reader.closed, + 'readable\'s closed should be rejected with the thrown error')); + + const writer = ts.writable.getWriter(); + + results.push(promise_rejects(t, thrownError, writer.closed, + 'writable\'s closed should be rejected with the thrown error')); + + writer.write('a'); It's odd that this call to write() is just sitting here with no obvious purpose. I know you didn't add it, and I'm not asking you to remove it. I'm just making a random observation. -- 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/604#pullrequestreview-7780361
Received on Wednesday, 9 November 2016 09:59:46 UTC