mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
7dd82dd1c3
This commit adds a mustNotCall() helper for testing. This provides an alternative to using common.fail() as a callback, or creating a callback function for the sole purpose of calling common.fail(). PR-URL: https://github.com/nodejs/node/pull/11152 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
34 lines
940 B
JavaScript
34 lines
940 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
|
|
const { Readable, Writable } = require('stream');
|
|
|
|
const source = Readable({read: () => {}});
|
|
const dest1 = Writable({write: () => {}});
|
|
const dest2 = Writable({write: () => {}});
|
|
|
|
source.pipe(dest1);
|
|
source.pipe(dest2);
|
|
|
|
dest1.on('unpipe', common.mustCall(() => {}));
|
|
dest2.on('unpipe', common.mustCall(() => {}));
|
|
|
|
assert.strictEqual(source._readableState.pipes[0], dest1);
|
|
assert.strictEqual(source._readableState.pipes[1], dest2);
|
|
assert.strictEqual(source._readableState.pipes.length, 2);
|
|
|
|
// Should be able to unpipe them in the reverse order that they were piped.
|
|
|
|
source.unpipe(dest2);
|
|
|
|
assert.strictEqual(source._readableState.pipes, dest1);
|
|
assert.notStrictEqual(source._readableState.pipes, dest2);
|
|
|
|
dest2.on('unpipe', common.mustNotCall());
|
|
source.unpipe(dest2);
|
|
|
|
source.unpipe(dest1);
|
|
|
|
assert.strictEqual(source._readableState.pipes, null);
|