From 5cdd9eddf8d1e53c03b3bb122004786fb90706bf Mon Sep 17 00:00:00 2001 From: Vadim Demedes Date: Sat, 22 Jul 2017 01:03:49 +0300 Subject: [PATCH] Demonstrate crash when using Truecolor methods and color is unsupported (#174) --- fixture.js | 4 ++++ package.json | 1 + test.js | 8 ++++++++ 3 files changed, 13 insertions(+) create mode 100644 fixture.js diff --git a/fixture.js b/fixture.js new file mode 100644 index 0000000..a57f562 --- /dev/null +++ b/fixture.js @@ -0,0 +1,4 @@ +'use strict'; +const chalk = require('.'); + +console.log(chalk.hex('#ff6159')('test')); diff --git a/package.json b/package.json index ac1f9b2..2501c72 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ }, "devDependencies": { "coveralls": "^2.11.2", + "execa": "^0.7.0", "import-fresh": "^2.0.0", "matcha": "^0.7.0", "mocha": "*", diff --git a/test.js b/test.js index 47cbf15..fe7a14e 100644 --- a/test.js +++ b/test.js @@ -2,6 +2,7 @@ const assert = require('assert'); const importFresh = require('import-fresh'); const resolveFrom = require('resolve-from'); +const execa = require('execa'); // Spoof supports-color require.cache[resolveFrom(__dirname, 'supports-color')] = { @@ -202,6 +203,13 @@ describe('chalk.level', () => { assert.equal(chalk.level, 1); chalk.level = oldLevel; }); + + it('should disable colors if they are not supported', () => { + return execa('node', ['fixture']) + .then(result => { + assert.equal(result.stdout, 'test'); + }); + }); }); describe('chalk.enabled', () => {