summaryrefslogtreecommitdiff
path: root/test/parallel/test-console-tty-colors.js
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2018-12-12 03:26:15 +0100
committerRuben Bridgewater <ruben@bridgewater.de>2018-12-17 16:42:36 +0100
commitbe3ae339360c9833a77ebf5772786d75b7a8dd78 (patch)
treec52c3e2b5843eb12fb3d177c47b760877e57de7a /test/parallel/test-console-tty-colors.js
parenta361b94b783bc92296307602f56d8beccad3fd22 (diff)
downloadandroid-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.js33
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'
+ }
+ );
+ });
}