diff options
Diffstat (limited to 'cli/tests/node_compat/test/parallel/test-stream-readable-reading-readingMore.js')
-rw-r--r-- | cli/tests/node_compat/test/parallel/test-stream-readable-reading-readingMore.js | 178 |
1 files changed, 0 insertions, 178 deletions
diff --git a/cli/tests/node_compat/test/parallel/test-stream-readable-reading-readingMore.js b/cli/tests/node_compat/test/parallel/test-stream-readable-reading-readingMore.js deleted file mode 100644 index 26663b88b..000000000 --- a/cli/tests/node_compat/test/parallel/test-stream-readable-reading-readingMore.js +++ /dev/null @@ -1,178 +0,0 @@ -// deno-fmt-ignore-file -// deno-lint-ignore-file - -// Copyright Joyent and Node contributors. All rights reserved. MIT license. -// Taken from Node 18.12.1 -// This file is automatically generated by `tools/node_compat/setup.ts`. Do not modify this file manually. - -'use strict'; -const common = require('../common'); -const assert = require('assert'); -const Readable = require('stream').Readable; - -{ - const readable = new Readable({ - read(size) {} - }); - - const state = readable._readableState; - - // Starting off with false initially. - assert.strictEqual(state.reading, false); - assert.strictEqual(state.readingMore, false); - - readable.on('data', common.mustCall((data) => { - // While in a flowing state with a 'readable' listener - // we should not be reading more - if (readable.readableFlowing) - assert.strictEqual(state.readingMore, true); - - // Reading as long as we've not ended - assert.strictEqual(state.reading, !state.ended); - }, 2)); - - function onStreamEnd() { - // End of stream; state.reading is false - // And so should be readingMore. - assert.strictEqual(state.readingMore, false); - assert.strictEqual(state.reading, false); - } - - const expectedReadingMore = [true, true, false]; - readable.on('readable', common.mustCall(() => { - // There is only one readingMore scheduled from on('data'), - // after which everything is governed by the .read() call - assert.strictEqual(state.readingMore, expectedReadingMore.shift()); - - // If the stream has ended, we shouldn't be reading - assert.strictEqual(state.ended, !state.reading); - - // Consume all the data - while (readable.read() !== null); - - if (expectedReadingMore.length === 0) // Reached end of stream - process.nextTick(common.mustCall(onStreamEnd, 1)); - }, 3)); - - readable.on('end', common.mustCall(onStreamEnd)); - readable.push('pushed'); - - readable.read(6); - - // reading - assert.strictEqual(state.reading, true); - assert.strictEqual(state.readingMore, true); - - // add chunk to front - readable.unshift('unshifted'); - - // end - readable.push(null); -} - -{ - const readable = new Readable({ - read(size) {} - }); - - const state = readable._readableState; - - // Starting off with false initially. - assert.strictEqual(state.reading, false); - assert.strictEqual(state.readingMore, false); - - readable.on('data', common.mustCall((data) => { - // While in a flowing state without a 'readable' listener - // we should be reading more - if (readable.readableFlowing) - assert.strictEqual(state.readingMore, true); - - // Reading as long as we've not ended - assert.strictEqual(state.reading, !state.ended); - }, 2)); - - function onStreamEnd() { - // End of stream; state.reading is false - // And so should be readingMore. - assert.strictEqual(state.readingMore, false); - assert.strictEqual(state.reading, false); - } - - readable.on('end', common.mustCall(onStreamEnd)); - readable.push('pushed'); - - // Stop emitting 'data' events - assert.strictEqual(state.flowing, true); - readable.pause(); - - // paused - assert.strictEqual(state.reading, false); - assert.strictEqual(state.flowing, false); - - readable.resume(); - assert.strictEqual(state.reading, false); - assert.strictEqual(state.flowing, true); - - // add chunk to front - readable.unshift('unshifted'); - - // end - readable.push(null); -} - -{ - const readable = new Readable({ - read(size) {} - }); - - const state = readable._readableState; - - // Starting off with false initially. - assert.strictEqual(state.reading, false); - assert.strictEqual(state.readingMore, false); - - const onReadable = common.mustNotCall(); - - readable.on('readable', onReadable); - - readable.on('data', common.mustCall((data) => { - // Reading as long as we've not ended - assert.strictEqual(state.reading, !state.ended); - }, 2)); - - readable.removeListener('readable', onReadable); - - function onStreamEnd() { - // End of stream; state.reading is false - // And so should be readingMore. - assert.strictEqual(state.readingMore, false); - assert.strictEqual(state.reading, false); - } - - readable.on('end', common.mustCall(onStreamEnd)); - readable.push('pushed'); - - // We are still not flowing, we will be resuming in the next tick - assert.strictEqual(state.flowing, false); - - // Wait for nextTick, so the readableListener flag resets - process.nextTick(function() { - readable.resume(); - - // Stop emitting 'data' events - assert.strictEqual(state.flowing, true); - readable.pause(); - - // paused - assert.strictEqual(state.flowing, false); - - readable.resume(); - assert.strictEqual(state.flowing, true); - - // add chunk to front - readable.unshift('unshifted'); - - // end - readable.push(null); - }); -} |