summaryrefslogtreecommitdiff
path: root/cli/tests/node_compat/test/parallel/test-console-instance.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/node_compat/test/parallel/test-console-instance.js')
-rw-r--r--cli/tests/node_compat/test/parallel/test-console-instance.js156
1 files changed, 0 insertions, 156 deletions
diff --git a/cli/tests/node_compat/test/parallel/test-console-instance.js b/cli/tests/node_compat/test/parallel/test-console-instance.js
deleted file mode 100644
index ee561564f..000000000
--- a/cli/tests/node_compat/test/parallel/test-console-instance.js
+++ /dev/null
@@ -1,156 +0,0 @@
-// deno-fmt-ignore-file
-// deno-lint-ignore-file
-
-// Copyright Joyent and Node contributors. All rights reserved. MIT license.
-// Taken from Node 16.13.0
-// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually
-
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-'use strict';
-const common = require('../common');
-const assert = require('assert');
-const Stream = require('stream');
-const requiredConsole = require('console');
-const Console = requiredConsole.Console;
-
-const out = new Stream();
-const err = new Stream();
-
-// Ensure the Console instance doesn't write to the
-// process' "stdout" or "stderr" streams.
-process.stdout.write = process.stderr.write = common.mustNotCall();
-
-// Make sure that the "Console" function exists.
-assert.strictEqual(typeof Console, 'function');
-
-// Note: We don't replace global console with node.js console
-// assert.strictEqual(requiredConsole, global.console);
-// Make sure the custom instanceof of Console works
-assert.ok(global.console instanceof Console);
-assert.ok(!({} instanceof Console));
-
-// Make sure that the Console constructor throws
-// when not given a writable stream instance.
-assert.throws(
- () => { new Console(); },
- {
- code: 'ERR_CONSOLE_WRITABLE_STREAM',
- name: 'TypeError',
- message: /stdout/
- }
-);
-
-// Console constructor should throw if stderr exists but is not writable.
-assert.throws(
- () => {
- out.write = () => {};
- err.write = undefined;
- new Console(out, err);
- },
- {
- code: 'ERR_CONSOLE_WRITABLE_STREAM',
- name: 'TypeError',
- message: /stderr/
- }
-);
-
-out.write = err.write = (d) => {};
-
-{
- const c = new Console(out, err);
- assert.ok(c instanceof Console);
-
- out.write = err.write = common.mustCall((d) => {
- assert.strictEqual(d, 'test\n');
- }, 2);
-
- c.log('test');
- c.error('test');
-
- out.write = common.mustCall((d) => {
- assert.strictEqual(d, '{ foo: 1 }\n');
- });
-
- c.dir({ foo: 1 });
-
- // Ensure that the console functions are bound to the console instance.
- let called = 0;
- out.write = common.mustCall((d) => {
- called++;
- assert.strictEqual(d, `${called} ${called - 1} [ 1, 2, 3 ]\n`);
- }, 3);
-
- [1, 2, 3].forEach(c.log);
-}
-
-// Test calling Console without the `new` keyword.
-{
- const withoutNew = Console(out, err);
- assert.ok(withoutNew instanceof Console);
-}
-
-// Test extending Console
-{
- class MyConsole extends Console {
- hello() {}
- // See if the methods on Console.prototype are overridable.
- log() { return 'overridden'; }
- }
- const myConsole = new MyConsole(process.stdout);
- assert.strictEqual(typeof myConsole.hello, 'function');
- assert.ok(myConsole instanceof Console);
- assert.strictEqual(myConsole.log(), 'overridden');
-
- const log = myConsole.log;
- assert.strictEqual(log(), 'overridden');
-}
-
-// Instance that does not ignore the stream errors.
-{
- const c2 = new Console(out, err, false);
-
- out.write = () => { throw new Error('out'); };
- err.write = () => { throw new Error('err'); };
-
- assert.throws(() => c2.log('foo'), /^Error: out$/);
- assert.throws(() => c2.warn('foo'), /^Error: err$/);
- assert.throws(() => c2.dir('foo'), /^Error: out$/);
-}
-
-// Console constructor throws if inspectOptions is not an object.
-[null, true, false, 'foo', 5, Symbol()].forEach((inspectOptions) => {
- assert.throws(
- () => {
- new Console({
- stdout: out,
- stderr: err,
- inspectOptions
- });
- },
- {
- message: 'The "options.inspectOptions" property must be of type object.' +
- common.invalidArgTypeHelper(inspectOptions),
- code: 'ERR_INVALID_ARG_TYPE'
- }
- );
-});