diff options
Diffstat (limited to 'cli/tests/node_compat/test/parallel/test-streams-highwatermark.js')
-rw-r--r-- | cli/tests/node_compat/test/parallel/test-streams-highwatermark.js | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/cli/tests/node_compat/test/parallel/test-streams-highwatermark.js b/cli/tests/node_compat/test/parallel/test-streams-highwatermark.js deleted file mode 100644 index 9245f7db0..000000000 --- a/cli/tests/node_compat/test/parallel/test-streams-highwatermark.js +++ /dev/null @@ -1,94 +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 stream = require('stream'); -const { inspect } = require('util'); - -{ - // This test ensures that the stream implementation correctly handles values - // for highWaterMark which exceed the range of signed 32 bit integers and - // rejects invalid values. - - // This number exceeds the range of 32 bit integer arithmetic but should still - // be handled correctly. - const ovfl = Number.MAX_SAFE_INTEGER; - - const readable = stream.Readable({ highWaterMark: ovfl }); - assert.strictEqual(readable._readableState.highWaterMark, ovfl); - - const writable = stream.Writable({ highWaterMark: ovfl }); - assert.strictEqual(writable._writableState.highWaterMark, ovfl); - - for (const invalidHwm of [true, false, '5', {}, -5, NaN]) { - for (const type of [stream.Readable, stream.Writable]) { - assert.throws(() => { - type({ highWaterMark: invalidHwm }); - }, { - name: 'TypeError', - code: 'ERR_INVALID_ARG_VALUE', - message: "The property 'options.highWaterMark' is invalid. " + - `Received ${inspect(invalidHwm)}` - }); - } - } -} - -{ - // This test ensures that the push method's implementation - // correctly handles the edge case where the highWaterMark and - // the state.length are both zero - - const readable = stream.Readable({ highWaterMark: 0 }); - - for (let i = 0; i < 3; i++) { - const needMoreData = readable.push(); - assert.strictEqual(needMoreData, true); - } -} - -{ - // This test ensures that the read(n) method's implementation - // correctly handles the edge case where the highWaterMark, state.length - // and n are all zero - - const readable = stream.Readable({ highWaterMark: 0 }); - - readable._read = common.mustCall(); - readable.read(0); -} - -{ - // Parse size as decimal integer - ['1', '1.0', 1].forEach((size) => { - const readable = new stream.Readable({ - read: common.mustCall(), - highWaterMark: 0, - }); - readable.read(size); - - assert.strictEqual(readable._readableState.highWaterMark, Number(size)); - }); -} - -{ - // Test highwatermark limit - const hwm = 0x40000000 + 1; - const readable = stream.Readable({ - read() {}, - }); - - assert.throws(() => readable.read(hwm), common.expectsError({ - code: 'ERR_OUT_OF_RANGE', - message: 'The value of "size" is out of range.' + - ' It must be <= 1GiB. Received ' + - hwm, - })); -} |