MCPcopy Create free account
hub / github.com/nodejs/node / testOptionsValidationSync

Function testOptionsValidationSync

test/parallel/test-stream-iter-to-readable.js:538–564  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

536// =============================================================================
537
538function 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

Callers 1

Calls 3

toReadableSyncFunction · 0.85
genFunction · 0.70
destroyMethod · 0.45

Tested by

no test coverage detected