| 'use strict'; |
| require('../common'); |
| const assert = require('assert'); |
| const util = require('util'); |
| |
| [ |
| undefined, |
| null, |
| false, |
| 5n, |
| 5, |
| Symbol(), |
| () => {}, |
| {}, |
| ].forEach((invalidOption) => { |
| assert.throws(() => { |
| util.styleText(invalidOption, 'test'); |
| }, { |
| code: 'ERR_INVALID_ARG_VALUE', |
| }); |
| assert.throws(() => { |
| util.styleText('red', invalidOption); |
| }, { |
| code: 'ERR_INVALID_ARG_TYPE' |
| }); |
| }); |
| |
| assert.throws(() => { |
| util.styleText('invalid', 'text'); |
| }, { |
| code: 'ERR_INVALID_ARG_VALUE', |
| }); |
| |
| assert.strictEqual(util.styleText('red', 'test'), '\u001b[31mtest\u001b[39m'); |
| |
| assert.strictEqual(util.styleText(['bold', 'red'], 'test'), '\u001b[1m\u001b[31mtest\u001b[39m\u001b[22m'); |
| assert.strictEqual(util.styleText(['bold', 'red'], 'test'), util.styleText('bold', util.styleText('red', 'test'))); |
| |
| assert.throws(() => { |
| util.styleText(['invalid'], 'text'); |
| }, { |
| code: 'ERR_INVALID_ARG_VALUE', |
| }); |