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

Function testOptionsValidationAsync

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

Source from the content-addressed store, hash-verified

327// =============================================================================
328
329function testOptionsValidationAsync() {
330 async function* gen() { yield [Buffer.from('x')]; }
331
332 // Options must be an object
333 assert.throws(() => toReadable(gen(), 'bad'),
334 { code: 'ERR_INVALID_ARG_TYPE' });
335 assert.throws(() => toReadable(gen(), 42),
336 { code: 'ERR_INVALID_ARG_TYPE' });
337
338 // highWaterMark must be a non-negative integer
339 assert.throws(() => toReadable(gen(), { highWaterMark: -1 }),
340 { code: 'ERR_OUT_OF_RANGE' });
341 assert.throws(() => toReadable(gen(), { highWaterMark: 'big' }),
342 { code: 'ERR_INVALID_ARG_TYPE' });
343 assert.throws(() => toReadable(gen(), { highWaterMark: 1.5 }),
344 { code: 'ERR_OUT_OF_RANGE' });
345
346 // Signal must be an AbortSignal
347 assert.throws(() => toReadable(gen(), { signal: 'not a signal' }),
348 { code: 'ERR_INVALID_ARG_TYPE' });
349 assert.throws(() => toReadable(gen(), { signal: 42 }),
350 { code: 'ERR_INVALID_ARG_TYPE' });
351
352 // Valid options should work
353 const r = toReadable(gen(), { highWaterMark: 0 });
354 assert.strictEqual(r.readableHighWaterMark, 0);
355 r.destroy();
356
357 // Default highWaterMark should be 16KB
358 const r2 = toReadable(gen());
359 assert.strictEqual(r2.readableHighWaterMark, 64 * 1024);
360 r2.destroy();
361
362 // Explicit undefined options should work (uses defaults)
363 const r3 = toReadable(gen(), undefined);
364 assert.strictEqual(r3.readableHighWaterMark, 64 * 1024);
365 r3.destroy();
366}
367
368// =============================================================================
369// fromStreamIter: with stream/iter transform

Callers 1

Calls 3

toReadableFunction · 0.85
genFunction · 0.70
destroyMethod · 0.45

Tested by

no test coverage detected