From 7dec8417d5ff244d058dc74ab1d277873d3a1977 Mon Sep 17 00:00:00 2001 From: thinkimlazy Date: Sat, 5 Nov 2016 11:46:50 +0300 Subject: [PATCH] Pass --no-color flag down to the forked process fixes #843 --- lib/cli.js | 1 + lib/reporters/mini.js | 5 ----- lib/reporters/verbose.js | 4 ---- readme.md | 1 + test/cli.js | 7 +++++-- test/reporters/mini.js | 3 +++ test/reporters/verbose.js | 3 +++ 7 files changed, 13 insertions(+), 11 deletions(-) diff --git a/lib/cli.js b/lib/cli.js index a5efea564..1382b0d84 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -43,6 +43,7 @@ exports.run = function () { ' --source, -S Pattern to match source files so tests can be re-run (Can be repeated)', ' --timeout, -T Set global timeout', ' --concurrency, -c Maximum number of test files running at the same time (EXPERIMENTAL)', + ' --no-color Disable color output', '', 'Examples', ' ava', diff --git a/lib/reporters/mini.js b/lib/reporters/mini.js index 8c7d9fbe8..d2ff8418b 100644 --- a/lib/reporters/mini.js +++ b/lib/reporters/mini.js @@ -11,11 +11,6 @@ var repeating = require('repeating'); var objectAssign = require('object-assign'); var colors = require('../colors'); -chalk.enabled = true; -Object.keys(colors).forEach(function (key) { - colors[key].enabled = true; -}); - function MiniReporter(options) { if (!(this instanceof MiniReporter)) { return new MiniReporter(options); diff --git a/lib/reporters/verbose.js b/lib/reporters/verbose.js index 95afb014d..f8e41f261 100644 --- a/lib/reporters/verbose.js +++ b/lib/reporters/verbose.js @@ -6,10 +6,6 @@ var plur = require('plur'); var repeating = require('repeating'); var colors = require('../colors'); -Object.keys(colors).forEach(function (key) { - colors[key].enabled = true; -}); - function VerboseReporter() { if (!(this instanceof VerboseReporter)) { return new VerboseReporter(); diff --git a/readme.md b/readme.md index 6f93b3ddc..6eabff92f 100644 --- a/readme.md +++ b/readme.md @@ -150,6 +150,7 @@ $ ava --help --source, -S Pattern to match source files so tests can be re-run (Can be repeated) --timeout, -T Set global timeout --concurrency, -c Maximum number of test files running at the same time (EXPERIMENTAL) + --no-color Disable color output Examples ava diff --git a/test/cli.js b/test/cli.js index fc9119fb0..406c56d9c 100644 --- a/test/cli.js +++ b/test/cli.js @@ -6,7 +6,6 @@ var test = require('tap').test; global.Promise = require('bluebird'); var getStream = require('get-stream'); var figures = require('figures'); -var arrify = require('arrify'); var chalk = require('chalk'); var mkdirp = require('mkdirp'); var touch = require('touch'); @@ -21,6 +20,10 @@ var cliPath = path.join(__dirname, '../cli.js'); chalk.enabled = true; var colors = require('../lib/colors'); +Object.keys(colors).forEach(function (key) { + colors[key].enabled = true; +}); + function execCli(args, opts, cb) { var dirname; var env; @@ -43,7 +46,7 @@ function execCli(args, opts, cb) { var stderr; var processPromise = new Promise(function (resolve) { - child = childProcess.spawn(process.execPath, [path.relative(dirname, cliPath)].concat(arrify(args)), { + child = childProcess.spawn(process.execPath, [path.relative(dirname, cliPath)].concat(args, '--color'), { cwd: dirname, env: env, stdio: [null, 'pipe', 'pipe'] diff --git a/test/reporters/mini.js b/test/reporters/mini.js index 161f0817e..39336653b 100644 --- a/test/reporters/mini.js +++ b/test/reporters/mini.js @@ -12,6 +12,9 @@ var colors = require('../../lib/colors'); var compareLineOutput = require('../helper/compare-line-output'); chalk.enabled = true; +Object.keys(colors).forEach(function (key) { + colors[key].enabled = true; +}); var graySpinner = chalk.gray.dim(process.platform === 'win32' ? '-' : '⠋'); diff --git a/test/reporters/verbose.js b/test/reporters/verbose.js index cbd3db75e..0cf04a4e8 100644 --- a/test/reporters/verbose.js +++ b/test/reporters/verbose.js @@ -11,6 +11,9 @@ var verboseReporter = require('../../lib/reporters/verbose'); var compareLineOutput = require('../helper/compare-line-output'); chalk.enabled = true; +Object.keys(colors).forEach(function (key) { + colors[key].enabled = true; +}); // tap doesn't emulate a tty environment and thus process.stdout.columns is // undefined. Expect an 80 character wide line to be rendered.