From 0cc8d691113253192fcf081970b2fb5159b30886 Mon Sep 17 00:00:00 2001 From: "Italo A. Casas" Date: Wed, 30 Nov 2016 20:48:58 -0500 Subject: [PATCH] test: stream readableListening internal state PR-URL: https://github.com/nodejs/node/pull/9864 Refs: https://github.com/nodejs/node/issues/8683 Reviewed-By: Matteo Collina Reviewed-By: Colin Ihrig --- .../test-stream-readableListening-state.js | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 test/parallel/test-stream-readableListening-state.js diff --git a/test/parallel/test-stream-readableListening-state.js b/test/parallel/test-stream-readableListening-state.js new file mode 100644 index 00000000000000..5e3071faf370e5 --- /dev/null +++ b/test/parallel/test-stream-readableListening-state.js @@ -0,0 +1,34 @@ +'use strict'; + +const common = require('../common'); +const assert = require('assert'); +const stream = require('stream'); + +const r = new stream.Readable({ + read: () => {} +}); + +// readableListening state should start in `false`. +assert.strictEqual(r._readableState.readableListening, false); + +r.on('readable', common.mustCall(() => { + // Inside the readable event this state should be true. + assert.strictEqual(r._readableState.readableListening, true); +})); + +r.push(Buffer.from('Testing readableListening state')); + +const r2 = new stream.Readable({ + read: () => {} +}); + +// readableListening state should start in `false`. +assert.strictEqual(r2._readableState.readableListening, false); + +r2.on('data', common.mustCall((chunk) => { + // readableListening should be false because we don't have + // a `readable` listener + assert.strictEqual(r2._readableState.readableListening, false); +})); + +r2.push(Buffer.from('Testing readableListening state'));