mirror of
https://github.com/nodejs/node.git
synced 2025-08-15 13:48:44 +02:00
util: respect nested formats in styleText
Co-authored-by: Jordan Harband <ljharb@gmail.com> PR-URL: https://github.com/nodejs/node/pull/59098 Fixes: https://github.com/nodejs/node/issues/59035 Reviewed-By: Jordan Harband <ljharb@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
This commit is contained in:
parent
6bb08f7f8e
commit
58b5dc3eb2
2 changed files with 129 additions and 5 deletions
|
@ -46,6 +46,83 @@ assert.strictEqual(
|
|||
'\u001b[1m\u001b[31mtest\u001b[39m\u001b[22m',
|
||||
);
|
||||
|
||||
assert.strictEqual(
|
||||
util.styleText('red',
|
||||
'A' + util.styleText('blue', 'B', { validateStream: false }) + 'C',
|
||||
{ validateStream: false }),
|
||||
'\u001b[31mA\u001b[34mB\u001b[31mC\u001b[39m'
|
||||
);
|
||||
|
||||
assert.strictEqual(
|
||||
util.styleText('red',
|
||||
'red' +
|
||||
util.styleText('blue', 'blue', { validateStream: false }) +
|
||||
'red' +
|
||||
util.styleText('blue', 'blue', { validateStream: false }) +
|
||||
'red',
|
||||
{ validateStream: false }
|
||||
),
|
||||
'\x1B[31mred\x1B[34mblue\x1B[31mred\x1B[34mblue\x1B[31mred\x1B[39m'
|
||||
);
|
||||
|
||||
assert.strictEqual(
|
||||
util.styleText('red',
|
||||
'red' +
|
||||
util.styleText('blue', 'blue', { validateStream: false }) +
|
||||
'red' +
|
||||
util.styleText('red', 'red', { validateStream: false }) +
|
||||
'red' +
|
||||
util.styleText('blue', 'blue', { validateStream: false }),
|
||||
{ validateStream: false }
|
||||
),
|
||||
'\x1b[31mred\x1b[34mblue\x1b[31mred\x1b[31mred\x1b[31mred\x1b[34mblue\x1b[39m\x1b[39m'
|
||||
);
|
||||
|
||||
assert.strictEqual(
|
||||
util.styleText('red',
|
||||
'A' + util.styleText(['bgRed', 'blue'], 'B', { validateStream: false }) +
|
||||
'C', { validateStream: false }),
|
||||
'\x1B[31mA\x1B[41m\x1B[34mB\x1B[31m\x1B[49mC\x1B[39m'
|
||||
);
|
||||
|
||||
assert.strictEqual(
|
||||
util.styleText('dim',
|
||||
'dim' +
|
||||
util.styleText('bold', 'bold', { validateStream: false }) +
|
||||
'dim', { validateStream: false }),
|
||||
'\x1B[2mdim\x1B[1mbold\x1B[22m\x1B[2mdim\x1B[22m'
|
||||
);
|
||||
|
||||
assert.strictEqual(
|
||||
util.styleText('blue',
|
||||
'blue' +
|
||||
util.styleText('red',
|
||||
'red' +
|
||||
util.styleText('green', 'green', { validateStream: false }) +
|
||||
'red', { validateStream: false }) +
|
||||
'blue', { validateStream: false }),
|
||||
'\x1B[34mblue\x1B[31mred\x1B[32mgreen\x1B[31mred\x1B[34mblue\x1B[39m'
|
||||
);
|
||||
|
||||
assert.strictEqual(
|
||||
util.styleText(
|
||||
'red',
|
||||
'red' +
|
||||
util.styleText(
|
||||
'blue',
|
||||
'blue' + util.styleText('red', 'red', {
|
||||
validateStream: false,
|
||||
}) + 'blue',
|
||||
{
|
||||
validateStream: false,
|
||||
}
|
||||
) + 'red', {
|
||||
validateStream: false,
|
||||
}
|
||||
),
|
||||
'\x1b[31mred\x1b[34mblue\x1b[31mred\x1b[34mblue\x1b[31mred\x1b[39m'
|
||||
);
|
||||
|
||||
assert.strictEqual(
|
||||
util.styleText(['bold', 'red'], 'test', { validateStream: false }),
|
||||
util.styleText(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue