From c1926959e208849819ccebe11d21cf853cbfb5c7 Mon Sep 17 00:00:00 2001 From: Thanabodee Charoenpiriyakij Date: Mon, 13 Mar 2023 12:34:30 +0700 Subject: [PATCH] Escape <> characters in suite name Fixes: #235 --- src/parsers/jest-junit/jest-junit-parser.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/parsers/jest-junit/jest-junit-parser.ts b/src/parsers/jest-junit/jest-junit-parser.ts index cbfe0ae..64198f4 100644 --- a/src/parsers/jest-junit/jest-junit-parser.ts +++ b/src/parsers/jest-junit/jest-junit-parser.ts @@ -37,7 +37,7 @@ export class JestJunitParser implements TestParser { junit.testsuites.testsuite === undefined ? [] : junit.testsuites.testsuite.map(ts => { - const name = ts.$.name.trim() + const name = this.escapeCharacters(ts.$.name.trim()) const time = parseFloat(ts.$.time) * 1000 const sr = new TestSuiteResult(name, this.getGroups(ts), time) return sr @@ -118,4 +118,8 @@ export class JestJunitParser implements TestParser { (this.assumedWorkDir = getBasePath(path, this.options.trackedFiles)) ) } + + private escapeCharacters(s: string): string { + return s.replace(/([<>])/g, '\\$1') + } }