blob: 67e673c36f6f2fd2eb603a700335669e38c0ef15 [file] [edit]
// Flags: --experimental-stream-iter
'use strict';
const common = require('../common');
const assert = require('assert');
const { Writable } = require('stream');
const { fromWritable } = require('stream/iter');
{
const writable = new Writable({ write() {} });
fromWritable(writable);
assert.throws(
() => fromWritable(writable, { backpressure: 'invalid' }),
{ code: 'ERR_INVALID_ARG_VALUE' },
);
writable.destroy();
}
async function testCachedWritableUsesLaterBackpressureOptions() {
const chunks = [];
const writable = new Writable({
highWaterMark: 1,
write(chunk, encoding, callback) {
chunks.push(Buffer.from(chunk));
},
});
fromWritable(writable);
const writer = fromWritable(writable, { backpressure: 'drop-newest' });
await writer.write('a');
await writer.write('b');
assert.deepStrictEqual(
chunks.map((chunk) => chunk.toString()),
['a'],
);
writable.destroy();
}
testCachedWritableUsesLaterBackpressureOptions().then(common.mustCall());