diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2018-12-12 03:26:15 +0100 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2018-12-17 16:42:36 +0100 |
commit | be3ae339360c9833a77ebf5772786d75b7a8dd78 (patch) | |
tree | c52c3e2b5843eb12fb3d177c47b760877e57de7a /test/parallel/test-console-tty-colors.js | |
parent | a361b94b783bc92296307602f56d8beccad3fd22 (diff) | |
download | android-node-v8-be3ae339360c9833a77ebf5772786d75b7a8dd78.tar.gz android-node-v8-be3ae339360c9833a77ebf5772786d75b7a8dd78.tar.bz2 android-node-v8-be3ae339360c9833a77ebf5772786d75b7a8dd78.zip |
console: add `inspectOptions` option
Add an `inspectOptions` option to the `console` constructor. That
way it's possible to define all inspection defaults for each
`console` instance instead of relying on the `inspect()` defaults.
PR-URL: https://github.com/nodejs/node/pull/24978
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Diffstat (limited to 'test/parallel/test-console-tty-colors.js')
-rw-r--r-- | test/parallel/test-console-tty-colors.js | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/test/parallel/test-console-tty-colors.js b/test/parallel/test-console-tty-colors.js index 4f4064970a..85a0e61e38 100644 --- a/test/parallel/test-console-tty-colors.js +++ b/test/parallel/test-console-tty-colors.js @@ -5,7 +5,7 @@ const util = require('util'); const { Writable } = require('stream'); const { Console } = require('console'); -function check(isTTY, colorMode, expectedColorMode) { +function check(isTTY, colorMode, expectedColorMode, inspectOptions) { const items = [ 1, { a: 2 }, @@ -18,7 +18,8 @@ function check(isTTY, colorMode, expectedColorMode) { write: common.mustCall((chunk, enc, cb) => { assert.strictEqual(chunk.trim(), util.inspect(items[i++], { - colors: expectedColorMode + colors: expectedColorMode, + ...inspectOptions })); cb(); }, items.length), @@ -31,7 +32,8 @@ function check(isTTY, colorMode, expectedColorMode) { const testConsole = new Console({ stdout: stream, ignoreErrors: false, - colorMode + colorMode, + inspectOptions }); for (const item of items) { testConsole.log(item); @@ -40,12 +42,15 @@ function check(isTTY, colorMode, expectedColorMode) { check(true, 'auto', true); check(false, 'auto', false); +check(false, undefined, true, { colors: true, compact: false }); +check(true, 'auto', true, { compact: false }); +check(true, undefined, false, { colors: false }); check(true, true, true); check(false, true, true); check(true, false, false); check(false, false, false); -// check invalid colorMode type +// Check invalid options. { const stream = new Writable({ write: common.mustNotCall() @@ -67,4 +72,24 @@ check(false, false, false); } ); }); + + [true, false, 'auto'].forEach((colorMode) => { + assert.throws( + () => { + new Console({ + stdout: stream, + ignoreErrors: false, + colorMode: colorMode, + inspectOptions: { + colors: false + } + }); + }, + { + message: 'Option "inspectOptions.color" can not be used in ' + + 'combination with option "colorMode"', + code: 'ERR_INCOMPATIBLE_OPTION_PAIR' + } + ); + }); } |