mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
test_runner: fix line feed escaping in JUnit
Replaces line feed characters with the correct character reference in XML attribute values. PR-URL: https://github.com/nodejs/node/pull/60274 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
This commit is contained in:
1 parent
7fe8085727
commit
d255fc7bae
2 files changed
+9
-9
No files matched your search
@@ -19,11 +19,11 @@ const inspectOptions = { __proto__: null, colors: false, breakLength: Infinity }
|
||||
const HOSTNAME = hostname();
|
||||
|
||||
function escapeAttribute(s = '') {
|
||||
return escapeContent(RegExpPrototypeSymbolReplace(/"/g, RegExpPrototypeSymbolReplace(/\n/g, s, ''), '"'));
|
||||
return escapeContent(RegExpPrototypeSymbolReplace(/"/g, RegExpPrototypeSymbolReplace(/\n/g, s, ' '), '"'));
|
||||
}
|
||||
|
||||
function escapeContent(s = '') {
|
||||
return RegExpPrototypeSymbolReplace(/</g, RegExpPrototypeSymbolReplace(/&/g, s, '&'), '<');
|
||||
return RegExpPrototypeSymbolReplace(/</g, RegExpPrototypeSymbolReplace(/(&)(?!#\d{1,7};)/g, s, '&'), '<');
|
||||
}
|
||||
|
||||
function escapeComment(s = '') {
|
||||
@@ -137,7 +137,7 @@ module.exports = async function* junitReporter(source) {
|
||||
__proto__: null,
|
||||
nesting: event.data.nesting + 1,
|
||||
tag: 'failure',
|
||||
attrs: { __proto__: null, type: error?.failureType || error?.code, message: error?.message ?? '' },
|
||||
attrs: { __proto__: null, type: error?.failureType || error?.code, message: error?.message.trim() ?? '' },
|
||||
children: [inspectWithNoCustomRetry(error, inspectOptions)],
|
||||
});
|
||||
currentTest.failures = 1;
|
||||
|
||||
@@ -101,8 +101,8 @@
|
||||
}
|
||||
</failure>
|
||||
</testcase>
|
||||
<testcase name="async assertion fail" time="*" classname="test" file="*" failure="Expected values to be strictly equal:true !== false">
|
||||
<failure type="testCodeFailure" message="Expected values to be strictly equal:true !== false">
|
||||
<testcase name="async assertion fail" time="*" classname="test" file="*" failure="Expected values to be strictly equal: true !== false ">
|
||||
<failure type="testCodeFailure" message="Expected values to be strictly equal: true !== false">
|
||||
[Error [ERR_TEST_FAILURE]: Expected values to be strictly equal:
|
||||
|
||||
true !== false
|
||||
@@ -316,8 +316,8 @@ Error [ERR_TEST_FAILURE]: thrown from callback async throw
|
||||
[Error [ERR_TEST_FAILURE]: customized] { code: 'ERR_TEST_FAILURE', failureType: 'testCodeFailure', cause: customized }
|
||||
</failure>
|
||||
</testcase>
|
||||
<testcase name="custom inspect symbol that throws fail" time="*" classname="test" file="*" failure="{ foo: 1, Symbol(nodejs.util.inspect.custom): [Function: [nodejs.util.inspect.custom]]}">
|
||||
<failure type="testCodeFailure" message="{ foo: 1, Symbol(nodejs.util.inspect.custom): [Function: [nodejs.util.inspect.custom]]}">
|
||||
<testcase name="custom inspect symbol that throws fail" time="*" classname="test" file="*" failure="{ foo: 1, Symbol(nodejs.util.inspect.custom): [Function: [nodejs.util.inspect.custom]] }">
|
||||
<failure type="testCodeFailure" message="{ foo: 1, Symbol(nodejs.util.inspect.custom): [Function: [nodejs.util.inspect.custom]] }">
|
||||
[Error [ERR_TEST_FAILURE]: {
|
||||
foo: 1,
|
||||
Symbol(nodejs.util.inspect.custom): [Function: [nodejs.util.inspect.custom]]
|
||||
@@ -413,8 +413,8 @@ Error [ERR_TEST_FAILURE]: bar
|
||||
}
|
||||
</failure>
|
||||
</testcase>
|
||||
<testcase name="assertion errors display actual and expected properly" time="*" classname="test" file="*" failure="Expected values to be loosely deep-equal:{ bar: 1, baz: { date: 1970-01-01T00:00:00.000Z, null: null, number: 1, string: 'Hello', undefined: undefined }, boo: [ 1 ], foo: 1}should loosely deep-equal{ baz: { date: 1970-01-01T00:00:00.000Z, null: null, number: 1, string: 'Hello', undefined: undefined }, boo: [ 1 ], circular: <ref *1> { bar: 2, c: [Circular *1] }}">
|
||||
<failure type="testCodeFailure" message="Expected values to be loosely deep-equal:{ bar: 1, baz: { date: 1970-01-01T00:00:00.000Z, null: null, number: 1, string: 'Hello', undefined: undefined }, boo: [ 1 ], foo: 1}should loosely deep-equal{ baz: { date: 1970-01-01T00:00:00.000Z, null: null, number: 1, string: 'Hello', undefined: undefined }, boo: [ 1 ], circular: <ref *1> { bar: 2, c: [Circular *1] }}">
|
||||
<testcase name="assertion errors display actual and expected properly" time="*" classname="test" file="*" failure="Expected values to be loosely deep-equal: { bar: 1, baz: { date: 1970-01-01T00:00:00.000Z, null: null, number: 1, string: 'Hello', undefined: undefined }, boo: [ 1 ], foo: 1 } should loosely deep-equal { baz: { date: 1970-01-01T00:00:00.000Z, null: null, number: 1, string: 'Hello', undefined: undefined }, boo: [ 1 ], circular: <ref *1> { bar: 2, c: [Circular *1] } }">
|
||||
<failure type="testCodeFailure" message="Expected values to be loosely deep-equal: { bar: 1, baz: { date: 1970-01-01T00:00:00.000Z, null: null, number: 1, string: 'Hello', undefined: undefined }, boo: [ 1 ], foo: 1 } should loosely deep-equal { baz: { date: 1970-01-01T00:00:00.000Z, null: null, number: 1, string: 'Hello', undefined: undefined }, boo: [ 1 ], circular: <ref *1> { bar: 2, c: [Circular *1] } }">
|
||||
[Error [ERR_TEST_FAILURE]: Expected values to be loosely deep-equal:
|
||||
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user