mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 21:19:50 +01:00
31d9edc849
PR-URL: https://github.com/nodejs/node/pull/43685 Refs: https://github.com/nodejs/node/issues/42457 Refs: https://github.com/nodejs/node/pull/43648/files Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
29 lines
692 B
JavaScript
29 lines
692 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
const { Transform } = require('stream');
|
|
|
|
const t = new Transform({
|
|
objectMode: true, highWaterMark: 0,
|
|
transform(chunk, enc, callback) {
|
|
process.nextTick(() => callback(null, chunk, enc));
|
|
}
|
|
});
|
|
|
|
assert.strictEqual(t.write(1), false);
|
|
t.on('drain', common.mustCall(() => {
|
|
assert.strictEqual(t.write(2), false);
|
|
t.end();
|
|
}));
|
|
|
|
t.once('readable', common.mustCall(() => {
|
|
assert.strictEqual(t.read(), 1);
|
|
setImmediate(common.mustCall(() => {
|
|
assert.strictEqual(t.read(), null);
|
|
t.once('readable', common.mustCall(() => {
|
|
assert.strictEqual(t.read(), 2);
|
|
}));
|
|
}));
|
|
}));
|