node/test/parallel/test-stream-duplex.js
cjihrig 0fb69de277 test: use duplex streams in duplex stream test
test-stream-duplex.js uses transform streams instead of the
duplex stream base class. This leads to some code not being
covered in the Duplex constructor.

PR-URL: https://github.com/nodejs/node/pull/12514
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: David Cai <davidcai1993@yahoo.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
2017-05-02 12:46:15 -05:00

32 lines
598 B
JavaScript

'use strict';
require('../common');
const assert = require('assert');
const Duplex = require('stream').Duplex;
const stream = new Duplex({ objectMode: true });
assert(Duplex() instanceof Duplex);
assert(stream._readableState.objectMode);
assert(stream._writableState.objectMode);
let written;
let read;
stream._write = (obj, _, cb) => {
written = obj;
cb();
};
stream._read = () => {};
stream.on('data', (obj) => {
read = obj;
});
stream.push({ val: 1 });
stream.end({ val: 2 });
process.on('exit', () => {
assert.strictEqual(read.val, 1);
assert.strictEqual(written.val, 2);
});