From 5a4358655412d8e464a50a0c6728130a08b189fc Mon Sep 17 00:00:00 2001 From: Debadree Chatterjee Date: Fri, 17 Mar 2023 02:09:36 +0530 Subject: [PATCH] test_runner: accept \x1b as a escape symbol Fixes: https://github.com/nodejs/node/issues/46959 PR-URL: https://github.com/nodejs/node/pull/47050 Reviewed-By: Moshe Atlow Reviewed-By: Luigi Pinca --- lib/internal/test_runner/tap_lexer.js | 2 +- test/parallel/test-runner-tap-lexer.js | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/internal/test_runner/tap_lexer.js b/lib/internal/test_runner/tap_lexer.js index a27e6ab35ea1d1..8af5453b283a38 100644 --- a/lib/internal/test_runner/tap_lexer.js +++ b/lib/internal/test_runner/tap_lexer.js @@ -525,7 +525,7 @@ class TapLexer { } #isEscapeSymbol(char) { - return char === '\\'; + return char === '\\' || char === '\x1b'; } #isYamlStartSymbol(char) { diff --git a/test/parallel/test-runner-tap-lexer.js b/test/parallel/test-runner-tap-lexer.js index afc6eea1d2c08b..96c27fecdea7d0 100644 --- a/test/parallel/test-runner-tap-lexer.js +++ b/test/parallel/test-runner-tap-lexer.js @@ -480,3 +480,15 @@ ok 1 assert.strictEqual(tokens[index].value, token.value); }); } + +{ + const tokens = TAPLexer('\x1b'); + + [ + { kind: TokenKind.ESCAPE, value: '\x1b' }, + { kind: TokenKind.EOL, value: '' }, + ].forEach((token, index) => { + assert.strictEqual(tokens[index].kind, token.kind); + assert.strictEqual(tokens[index].value, token.value); + }); +}