diff --git a/lib/internal/test_runner/tap_stream.js b/lib/internal/test_runner/tap_stream.js index 42ebfb9..54b6301 100644 --- a/lib/internal/test_runner/tap_stream.js +++ b/lib/internal/test_runner/tap_stream.js @@ -1,4 +1,4 @@ -// https://github.com/nodejs/node/blob/f8ce9117b19702487eb600493d941f7876e00e01/lib/internal/test_runner/tap_stream.js +// https://github.com/nodejs/node/blob/22dc987fde29734c5bcbb7c33da20d184ff61627/lib/internal/test_runner/tap_stream.js 'use strict' @@ -134,9 +134,15 @@ class TapStream extends Readable { // In certain places, # and \ need to be escaped as \# and \\. function tapEscape (input) { - return StringPrototypeReplaceAll( - StringPrototypeReplaceAll(input, '\\', '\\\\'), '#', '\\#' - ) + let result = StringPrototypeReplaceAll(input, '\\', '\\\\') + result = StringPrototypeReplaceAll(result, '#', '\\#') + result = StringPrototypeReplaceAll(result, '\b', '\\b') + result = StringPrototypeReplaceAll(result, '\f', '\\f') + result = StringPrototypeReplaceAll(result, '\t', '\\t') + result = StringPrototypeReplaceAll(result, '\n', '\\n') + result = StringPrototypeReplaceAll(result, '\r', '\\r') + result = StringPrototypeReplaceAll(result, '\v', '\\v') + return result } function jsToYaml (indent, name, value) { diff --git a/test/message/test_runner_output.js b/test/message/test_runner_output.js index 9a1dc66..a85c16e 100644 --- a/test/message/test_runner_output.js +++ b/test/message/test_runner_output.js @@ -1,4 +1,4 @@ -// https://github.com/nodejs/node/blob/cb7e0c59df10a42cd6930ca7f99d3acee1ce7627/test/message/test_runner_output.js +// https://github.com/nodejs/node/blob/22dc987fde29734c5bcbb7c33da20d184ff61627/test/message/test_runner_output.js // Flags: --no-warnings 'use strict' require('../common') @@ -214,7 +214,7 @@ test('test with a name and options provided', { skip: true }) test({ skip: true }, function functionAndOptions () {}) // A test whose description needs to be escaped. -test('escaped description \\ # \\#\\') +test('escaped description \\ # \\#\\ \n \t \f \v \b \r') // A test whose skip message needs to be escaped. test('escaped skip message', { skip: '#skip' }) diff --git a/test/message/test_runner_output.out b/test/message/test_runner_output.out index 96d977b..14479c7 100644 --- a/test/message/test_runner_output.out +++ b/test/message/test_runner_output.out @@ -127,9 +127,9 @@ not ok 13 - async assertion fail failureType: 'testCodeFailure' error: |- Expected values to be strictly equal: - + true !== false - + code: 'ERR_ASSERTION' expected: false actual: true @@ -353,8 +353,8 @@ ok 36 - functionAndOptions # SKIP --- duration_ms: * ... -# Subtest: escaped description \\ \# \\\#\\ -ok 37 - escaped description \\ \# \\\#\\ +# Subtest: escaped description \\ \# \\\#\\ \n \t \f \v \b \r +ok 37 - escaped description \\ \# \\\#\\ \n \t \f \v \b \r --- duration_ms: * ...