summaryrefslogtreecommitdiff
path: root/cli/tests/node_compat/test/parallel/test-stream3-cork-end.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/node_compat/test/parallel/test-stream3-cork-end.js')
-rw-r--r--cli/tests/node_compat/test/parallel/test-stream3-cork-end.js98
1 files changed, 0 insertions, 98 deletions
diff --git a/cli/tests/node_compat/test/parallel/test-stream3-cork-end.js b/cli/tests/node_compat/test/parallel/test-stream3-cork-end.js
deleted file mode 100644
index 52f881121..000000000
--- a/cli/tests/node_compat/test/parallel/test-stream3-cork-end.js
+++ /dev/null
@@ -1,98 +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';
-require('../common');
-const assert = require('assert');
-const stream = require('stream');
-const Writable = stream.Writable;
-
-// Test the buffering behavior of Writable streams.
-//
-// The call to cork() triggers storing chunks which are flushed
-// on calling end() and the stream subsequently ended.
-//
-// node version target: 0.12
-
-const expectedChunks = ['please', 'buffer', 'me', 'kindly'];
-const inputChunks = expectedChunks.slice(0);
-let seenChunks = [];
-let seenEnd = false;
-
-const w = new Writable();
-// Let's arrange to store the chunks.
-w._write = function(chunk, encoding, cb) {
- // Stream end event is not seen before the last write.
- assert.ok(!seenEnd);
- // Default encoding given none was specified.
- assert.strictEqual(encoding, 'buffer');
-
- seenChunks.push(chunk);
- cb();
-};
-// Let's record the stream end event.
-w.on('finish', () => {
- seenEnd = true;
-});
-
-function writeChunks(remainingChunks, callback) {
- const writeChunk = remainingChunks.shift();
- let writeState;
-
- if (writeChunk) {
- setImmediate(() => {
- writeState = w.write(writeChunk);
- // We were not told to stop writing.
- assert.ok(writeState);
-
- writeChunks(remainingChunks, callback);
- });
- } else {
- callback();
- }
-}
-
-// Do an initial write.
-w.write('stuff');
-// The write was immediate.
-assert.strictEqual(seenChunks.length, 1);
-// Reset the seen chunks.
-seenChunks = [];
-
-// Trigger stream buffering.
-w.cork();
-
-// Write the bufferedChunks.
-writeChunks(inputChunks, () => {
- // Should not have seen anything yet.
- assert.strictEqual(seenChunks.length, 0);
-
- // Trigger flush and ending the stream.
- w.end();
-
- // Stream should not ended in current tick.
- assert.ok(!seenEnd);
-
- // Buffered bytes should be seen in current tick.
- assert.strictEqual(seenChunks.length, 4);
-
- // Did the chunks match.
- for (let i = 0, l = expectedChunks.length; i < l; i++) {
- const seen = seenChunks[i];
- // There was a chunk.
- assert.ok(seen);
-
- const expected = Buffer.from(expectedChunks[i]);
- // It was what we expected.
- assert.ok(seen.equals(expected));
- }
-
- setImmediate(() => {
- // Stream should have ended in next tick.
- assert.ok(seenEnd);
- });
-});