diff options
author | Matt Mastracci <matthew@mastracci.com> | 2024-02-10 13:22:13 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-10 20:22:13 +0000 |
commit | f5e46c9bf2f50d66a953fa133161fc829cecff06 (patch) | |
tree | 8faf2f5831c1c7b11d842cd9908d141082c869a5 /cli/tests/node_compat/test/parallel/test-stream3-cork-end.js | |
parent | d2477f780630a812bfd65e3987b70c0d309385bb (diff) |
chore: move cli/tests/ -> tests/ (#22369)
This looks like a massive PR, but it's only a move from cli/tests ->
tests, and updates of relative paths for files.
This is the first step towards aggregate all of the integration test
files under tests/, which will lead to a set of integration tests that
can run without the CLI binary being built.
While we could leave these tests under `cli`, it would require us to
keep a more complex directory structure for the various test runners. In
addition, we have a lot of complexity to ignore various test files in
the `cli` project itself (cargo publish exclusion rules, autotests =
false, etc).
And finally, the `tests/` folder will eventually house the `test_ffi`,
`test_napi` and other testing code, reducing the size of the root repo
directory.
For easier review, the extremely large and noisy "move" is in the first
commit (with no changes -- just a move), while the remainder of the
changes to actual files is in the second commit.
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.js | 98 |
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); - }); -}); |