Skip to content

Commit bd8fd4f

Browse files
avivkellermarco-ippolito
authored andcommitted
test: add util.stripVTControlCharacters test
PR-URL: #54865 Refs: chalk/ansi-regex#58 Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent a3c2ef9 commit bd8fd4f

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
'use strict';
2+
3+
require('../common');
4+
const util = require('util');
5+
const { test } = require('node:test');
6+
7+
// Ref: https://github.com/chalk/ansi-regex/blob/main/test.js
8+
const tests = [
9+
// [before, expected]
10+
['\u001B[0m\u001B[4m\u001B[42m\u001B[31mfoo\u001B[39m\u001B[49m\u001B[24mfoo\u001B[0m', 'foofoo'], // Basic ANSI
11+
['\u001B[0;33;49;3;9;4mbar\u001B[0m', 'bar'], // Advanced colors
12+
['foo\u001B[0gbar', 'foobar'], // Clear tabs
13+
['foo\u001B[Kbar', 'foobar'], // Clear line
14+
['foo\u001B[2Jbar', 'foobar'], // Clear screen
15+
];
16+
17+
for (const ST of ['\u0007', '\u001B\u005C', '\u009C']) {
18+
tests.push(
19+
[`\u001B]8;;mailto:[email protected]${ST}mail\u001B]8;;${ST}`, 'mail'],
20+
[`\u001B]8;k=v;https://example-a.com/?a_b=1&c=2#tit%20le${ST}click\u001B]8;;${ST}`, 'click'],
21+
);
22+
}
23+
24+
test('util.stripVTControlCharacters', (t) => {
25+
for (const [before, expected] of tests) {
26+
t.assert.strictEqual(util.stripVTControlCharacters(before), expected);
27+
}
28+
});

0 commit comments

Comments
 (0)