From 9489abf0171406caa351b8c332022b308e64dcdc Mon Sep 17 00:00:00 2001 From: "t.eitzenberger" Date: Thu, 5 Sep 2024 12:52:43 +0200 Subject: [PATCH] 3522: undoing Formatter changes to keep tests green and doing everything "inside" ftl --- .../src/main/resources/freemarker/default.ftl | 9 ++++++--- .../src/main/resources/freemarker/junit5/default.ftl | 2 +- .../java/net/thucydides/core/reports/html/Formatter.java | 7 +++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/serenity-report-resources/src/main/resources/freemarker/default.ftl b/serenity-report-resources/src/main/resources/freemarker/default.ftl index edf5b6f0e..7462ffb61 100644 --- a/serenity-report-resources/src/main/resources/freemarker/default.ftl +++ b/serenity-report-resources/src/main/resources/freemarker/default.ftl @@ -38,11 +38,14 @@ <#list breadcrumbs as breadcrumb> <#assign breadcrumbReport = absoluteReportName.forRequirement(breadcrumb) /> <#assign breadcrumbTitle = breadcrumb.displayName > - > ${formatter.htmlCompatibleStoryTitle(breadcrumbTitle)} + > + ${formatter.escapeHtmlTags(formatter.htmlCompatibleStoryTitle(breadcrumbTitle))} + <#-- > ${formatter.htmlCompatibleTestTitle(formatter.renderTitle(testOutcome.title))}--> <#-- > ${formatter.htmlCompatibleTestTitle(testOutcome.title)}--> - > ${formatter.htmlCompatibleTestTitle(formatter.humanReadableFormOf(testOutcome.title))} + > + ${formatter.escapeHtmlTags(formatter.htmlCompatibleTestTitle(formatter.humanReadableFormOf(testOutcome.title)))}
@@ -346,7 +349,7 @@ <#assign roeResult = row.result/> ${formatter.plainHtmlCompatible(value)} + href="#${rowIndex}"><#outputformat 'HTML'>${formatter.plainHtmlCompatible(value)} diff --git a/serenity-report-resources/src/main/resources/freemarker/junit5/default.ftl b/serenity-report-resources/src/main/resources/freemarker/junit5/default.ftl index 2c6027b68..4f2b86b69 100644 --- a/serenity-report-resources/src/main/resources/freemarker/junit5/default.ftl +++ b/serenity-report-resources/src/main/resources/freemarker/junit5/default.ftl @@ -338,7 +338,7 @@ <#assign roeResult = row.result/> ${formatter.plainHtmlCompatible(value)} + href="#${rowIndex}"><#outputformat 'HTML'>${formatter.plainHtmlCompatible(value)} diff --git a/serenity-reports/src/main/java/net/thucydides/core/reports/html/Formatter.java b/serenity-reports/src/main/java/net/thucydides/core/reports/html/Formatter.java index 2f02dfba8..5e7c8d20c 100644 --- a/serenity-reports/src/main/java/net/thucydides/core/reports/html/Formatter.java +++ b/serenity-reports/src/main/java/net/thucydides/core/reports/html/Formatter.java @@ -437,8 +437,7 @@ private String newLineUsedIn(String text) { private static final CharSequenceTranslator ESCAPE_SPECIAL_CHARS = new AggregateTranslator( new LookupTranslator(EntityArrays.ISO8859_1_ESCAPE()), - new LookupTranslator(EntityArrays.HTML40_EXTENDED_ESCAPE()), - new LookupTranslator(new String[][] { {"<", "<"}, {">", ">"}}) + new LookupTranslator(EntityArrays.HTML40_EXTENDED_ESCAPE()) ); private final CharSequenceTranslator BASIC_XML = new AggregateTranslator( @@ -481,6 +480,10 @@ public String htmlCompatibleStoryTitle(Object fieldValue) { (htmlCompatible(renderMarkdownWithoutTags(firstLine))) : htmlCompatible(firstLine); } + public String escapeHtmlTags(String fieldValue) { + return fieldValue.replace("<", "<").replace(">", ">"); + } + public String htmlCompatibleTestTitle(Object fieldValue) { String firstLine = fieldValue.toString().split("\\n")[0];