()
| 536 | // ============================================================================= |
| 537 | |
| 538 | function testOptionsValidationSync() { |
| 539 | function* gen() { yield [Buffer.from('x')]; } |
| 540 | |
| 541 | // Options must be an object |
| 542 | assert.throws(() => toReadableSync(gen(), 'bad'), |
| 543 | { code: 'ERR_INVALID_ARG_TYPE' }); |
| 544 | assert.throws(() => toReadableSync(gen(), 42), |
| 545 | { code: 'ERR_INVALID_ARG_TYPE' }); |
| 546 | |
| 547 | // highWaterMark must be a non-negative integer |
| 548 | assert.throws(() => toReadableSync(gen(), { highWaterMark: -1 }), |
| 549 | { code: 'ERR_OUT_OF_RANGE' }); |
| 550 | assert.throws(() => toReadableSync(gen(), { highWaterMark: 'big' }), |
| 551 | { code: 'ERR_INVALID_ARG_TYPE' }); |
| 552 | assert.throws(() => toReadableSync(gen(), { highWaterMark: 1.5 }), |
| 553 | { code: 'ERR_OUT_OF_RANGE' }); |
| 554 | |
| 555 | // Valid options should work |
| 556 | const r = toReadableSync(gen(), { highWaterMark: 0 }); |
| 557 | assert.strictEqual(r.readableHighWaterMark, 0); |
| 558 | r.destroy(); |
| 559 | |
| 560 | // Default highWaterMark should be 16KB |
| 561 | const r2 = toReadableSync(gen()); |
| 562 | assert.strictEqual(r2.readableHighWaterMark, 64 * 1024); |
| 563 | r2.destroy(); |
| 564 | } |
| 565 | |
| 566 | // ============================================================================= |
| 567 | // Round-trip: stream/iter -> Readable -> stream/iter |
no test coverage detected