From 6be301b1a4ff384ff2a52483c9154ca7ffa39b8b Mon Sep 17 00:00:00 2001 From: Pavel Lang Date: Thu, 27 Dec 2018 19:05:58 +0100 Subject: [PATCH] test(stderr): test if stderr work --- test/_fixture.js | 2 ++ test/_supports-color.js | 6 ++++++ test/stderr.js | 27 +++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 test/stderr.js diff --git a/test/_fixture.js b/test/_fixture.js index 5f1771d..3627ecc 100644 --- a/test/_fixture.js +++ b/test/_fixture.js @@ -1,4 +1,6 @@ 'use strict'; const chalk = require('..'); +const cherr = require('../stderr'); console.log(chalk.hex('#ff6159')('test')); +console.error(cherr.hex('#ffe861')('test stderr')); diff --git a/test/_supports-color.js b/test/_supports-color.js index 490c323..b5c0f78 100644 --- a/test/_supports-color.js +++ b/test/_supports-color.js @@ -7,6 +7,12 @@ const DEFAULT = { hasBasic: true, has256: true, has16m: true + }, + stderr: { + level: 3, + hasBasic: true, + has256: true, + has16m: true } }; diff --git a/test/stderr.js b/test/stderr.js new file mode 100644 index 0000000..c54041c --- /dev/null +++ b/test/stderr.js @@ -0,0 +1,27 @@ +import path from 'path'; +import test from 'ava'; +import execa from 'execa'; + +// Spoof supports-color +require('./_supports-color')(__dirname); + +const cherr = require('../stderr'); + +test('stderr don\'t output colors when manually disabled', t => { + cherr.enabled = false; + t.is(cherr.red('foo'), 'foo'); + cherr.enabled = true; +}); + +test('stderr enable/disable colors based on overall chalk enabled property, not individual instances', t => { + cherr.enabled = false; + const {red} = cherr; + t.false(red.enabled); + cherr.enabled = true; + t.true(red.enabled); + cherr.enabled = true; +}); + +test('disable colors if they are not supported', async t => { + t.is(await execa.stderr('node', [path.join(__dirname, '_fixture')]), 'test stderr'); +});