@@ -7,3 +7,22 @@ assert.throws(
|
7 | 7 | () => ReadableStream.from({}), |
8 | 8 | { code: 'ERR_ARG_NOT_ITERABLE', name: 'TypeError' }, |
9 | 9 | ); |
| 10 | + |
| 11 | +const invalidIterators = [ |
| 12 | +{ [Symbol.iterator]: () => 42 }, |
| 13 | +{ [Symbol.asyncIterator]: () => 42 }, |
| 14 | +]; |
| 15 | + |
| 16 | +for (const iterable of invalidIterators) { |
| 17 | +assert.throws( |
| 18 | +() => ReadableStream.from(iterable), |
| 19 | +{ code: 'ERR_INVALID_STATE', name: 'TypeError' }, |
| 20 | +); |
| 21 | +} |
| 22 | + |
| 23 | +function functionIterator() {} |
| 24 | + |
| 25 | +// doesNotThrow |
| 26 | +ReadableStream.from({ |
| 27 | +[Symbol.iterator]: () => functionIterator, |
| 28 | +}); |