OLD | NEW |
1 'use strict'; | 1 'use strict'; |
2 | 2 |
3 if (self.importScripts) { | 3 if (self.importScripts) { |
4 self.importScripts('/resources/testharness.js'); | 4 self.importScripts('/resources/testharness.js'); |
5 } | 5 } |
6 | 6 |
7 const error1 = new Error('a unique string'); | 7 const error1 = new Error('a unique string'); |
8 error1.name = 'error1'; | 8 error1.name = 'error1'; |
9 | 9 |
10 test(() => { | 10 test(() => { |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 promise_test(t => { | 54 promise_test(t => { |
55 const ws = new WritableStream({}, { | 55 const ws = new WritableStream({}, { |
56 size() { | 56 size() { |
57 throw error1; | 57 throw error1; |
58 }, | 58 }, |
59 highWaterMark: 5 | 59 highWaterMark: 5 |
60 }); | 60 }); |
61 | 61 |
62 const writer = ws.getWriter(); | 62 const writer = ws.getWriter(); |
63 | 63 |
64 const p1 = promise_rejects(t, error1, writer.write('a'), 'write should reject
with the thrown error'); | 64 const p1 = promise_rejects(t, new TypeError(), writer.write('a'), 'write shoul
d reject with a TypeError'); |
65 | 65 |
66 const p2 = promise_rejects(t, error1, writer.closed, 'closed should reject wit
h the thrown error'); | 66 const p2 = promise_rejects(t, error1, writer.closed, 'closed should reject wit
h the thrown error'); |
67 | 67 |
68 return Promise.all([p1, p2]); | 68 return Promise.all([p1, p2]); |
69 }, 'Writable stream: throwing strategy.size method'); | 69 }, 'Writable stream: throwing strategy.size method'); |
70 | 70 |
71 promise_test(() => { | 71 promise_test(() => { |
72 const sizes = [NaN, -Infinity, Infinity, -1]; | 72 const sizes = [NaN, -Infinity, Infinity, -1]; |
73 return Promise.all(sizes.map(size => { | 73 return Promise.all(sizes.map(size => { |
74 const ws = new WritableStream({}, { | 74 const ws = new WritableStream({}, { |
75 size() { | 75 size() { |
76 return size; | 76 return size; |
77 }, | 77 }, |
78 highWaterMark: 5 | 78 highWaterMark: 5 |
79 }); | 79 }); |
80 | 80 |
81 const writer = ws.getWriter(); | 81 const writer = ws.getWriter(); |
82 | 82 |
83 return writer.write('a').then(() => assert_unreached('write must reject'), w
riteE => { | 83 return writer.write('a').then(() => assert_unreached('write must reject'), w
riteE => { |
84 assert_equals(writeE.name, 'RangeError', `write must reject with a RangeEr
ror for ${size}`); | 84 assert_equals(writeE.name, 'RangeError', `write must reject with a RangeEr
ror for ${size}`); |
85 | 85 |
86 return writer.closed.then(() => assert_unreached('write must reject'), clo
sedE => { | 86 return writer.closed.then(() => assert_unreached('write must reject'), clo
sedE => { |
87 assert_equals(closedE, writeE, `closed should reject with the same error
as write`); | 87 assert_equals(closedE, writeE, `closed should reject with the same error
as write`); |
88 }); | 88 }); |
89 }); | 89 }); |
90 })); | 90 })); |
91 }, 'Writable stream: invalid strategy.size return value'); | 91 }, 'Writable stream: invalid strategy.size return value'); |
92 | 92 |
93 done(); | 93 done(); |
OLD | NEW |