summaryrefslogtreecommitdiff
path: root/test/parallel/test-stream-readable-emittedReadable.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/parallel/test-stream-readable-emittedReadable.js')
-rw-r--r--test/parallel/test-stream-readable-emittedReadable.js17
1 files changed, 10 insertions, 7 deletions
diff --git a/test/parallel/test-stream-readable-emittedReadable.js b/test/parallel/test-stream-readable-emittedReadable.js
index 65b6b5b15a..5b9affc59f 100644
--- a/test/parallel/test-stream-readable-emittedReadable.js
+++ b/test/parallel/test-stream-readable-emittedReadable.js
@@ -10,30 +10,33 @@ const readable = new Readable({
// Initialized to false.
assert.strictEqual(readable._readableState.emittedReadable, false);
+const expected = [Buffer.from('foobar'), Buffer.from('quo'), null];
readable.on('readable', common.mustCall(() => {
// emittedReadable should be true when the readable event is emitted
assert.strictEqual(readable._readableState.emittedReadable, true);
- readable.read();
+ assert.deepStrictEqual(readable.read(), expected.shift());
// emittedReadable is reset to false during read()
assert.strictEqual(readable._readableState.emittedReadable, false);
-}, 4));
+}, 3));
// When the first readable listener is just attached,
// emittedReadable should be false
assert.strictEqual(readable._readableState.emittedReadable, false);
-// Each one of these should trigger a readable event.
+// These trigger a single 'readable', as things are batched up
process.nextTick(common.mustCall(() => {
readable.push('foo');
}));
process.nextTick(common.mustCall(() => {
readable.push('bar');
}));
-process.nextTick(common.mustCall(() => {
+
+// these triggers two readable events
+setImmediate(common.mustCall(() => {
readable.push('quo');
-}));
-process.nextTick(common.mustCall(() => {
- readable.push(null);
+ process.nextTick(common.mustCall(() => {
+ readable.push(null);
+ }));
}));
const noRead = new Readable({