Sha256: 073460ce7ceb39328ca9a5bd294c94d6648458d8f0740795d54a0eaaf5df2a6a
Contents?: true
Size: 1.23 KB
Versions: 5
Compression:
Stored size: 1.23 KB
Contents
'use strict'; const common = require('../common'); const stream = require('stream'); const assert = require('assert'); const readable = new stream.Readable({ read: () => {} }); const writables = []; for (let i = 0; i < 5; i++) { const target = new stream.Writable({ write: common.mustCall((chunk, encoding, callback) => { target.output.push(chunk); callback(); }, 1) }); target.output = []; target.on('pipe', common.mustCall(() => {})); readable.pipe(target); writables.push(target); } const input = Buffer.from([1, 2, 3, 4, 5]); readable.push(input); // The pipe() calls will postpone emission of the 'resume' event using nextTick, // so no data will be available to the writable streams until then. process.nextTick(common.mustCall(() => { for (const target of writables) { assert.deepStrictEqual(target.output, [input]); target.on('unpipe', common.mustCall(() => {})); readable.unpipe(target); } readable.push('something else'); // This does not get through. readable.push(null); readable.resume(); // Make sure the 'end' event gets emitted. })); readable.on('end', common.mustCall(() => { for (const target of writables) { assert.deepStrictEqual(target.output, [input]); } }));
Version data entries
5 entries across 4 versions & 1 rubygems