This is an automated email from the ASF dual-hosted git repository. michaelo pushed a commit to branch backport in repository https://gitbox.apache.org/repos/asf/maven-surefire.git
commit 4239a7c9ce081843fd4b54cb41f32dc104aa735c Author: Michael Osipov <micha...@apache.org> AuthorDate: Fri May 19 20:05:42 2023 +0200 Use choice message format to render percentage and time --- .../surefire/report/SurefireReportRenderer.java | 37 ++++++++++------------ .../src/main/resources/surefire-report.properties | 3 ++ .../main/resources/surefire-report_de.properties | 1 + .../main/resources/surefire-report_sv.properties | 1 + .../plugins/surefire/report/Surefire597Test.java | 6 ++-- .../surefire/report/SurefireReportMojoTest.java | 30 +++++++++--------- 6 files changed, 39 insertions(+), 39 deletions(-) diff --git a/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportRenderer.java b/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportRenderer.java index 9cf0039a7..3bff727a3 100644 --- a/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportRenderer.java +++ b/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportRenderer.java @@ -19,7 +19,6 @@ package org.apache.maven.plugins.surefire.report; import java.io.File; -import java.text.NumberFormat; import java.util.List; import java.util.Locale; import java.util.Map; @@ -100,6 +99,15 @@ public class SurefireReportRenderer extends AbstractMavenReportRenderer { return i18n.getString("surefire-report", locale, "report." + section + '.' + key); } + /** + * @param section The section. + * @param key The key to translate. + * @return the translated key. + */ + private String formatI18nString(String section, String key, Object... args) { + return i18n.format("surefire-report", locale, "report." + section + '.' + key, args); + } + public void renderBody() { javaScript(javascriptToggleDisplayCode()); @@ -120,9 +128,6 @@ public class SurefireReportRenderer extends AbstractMavenReportRenderer { private void renderSectionSummary() { Map<String, Object> summary = parser.getSummary(testSuites); - NumberFormat numberFormat = NumberFormat.getNumberInstance(locale); - NumberFormat percentFormat = NumberFormat.getPercentInstance(locale); - percentFormat.setMinimumFractionDigits(1); sink.section1(); sinkAnchor("Summary"); @@ -150,8 +155,8 @@ public class SurefireReportRenderer extends AbstractMavenReportRenderer { String.valueOf(summary.get("totalErrors")), String.valueOf(summary.get("totalFailures")), String.valueOf(summary.get("totalSkipped")), - percentFormat.format(summary.get("totalPercentage")), - numberFormat.format(summary.get("totalElapsedTime")) + " s" + formatI18nString("surefire", "value.successrate", summary.get("totalPercentage")), + formatI18nString("surefire", "value.time", summary.get("totalElapsedTime")) }); endTable(); @@ -171,10 +176,6 @@ public class SurefireReportRenderer extends AbstractMavenReportRenderer { return; } - NumberFormat numberFormat = NumberFormat.getNumberInstance(locale); - NumberFormat percentFormat = NumberFormat.getPercentInstance(locale); - percentFormat.setMinimumFractionDigits(1); - sink.section1(); sinkAnchor("Package_List"); sink.sectionTitle1(); @@ -210,8 +211,8 @@ public class SurefireReportRenderer extends AbstractMavenReportRenderer { String.valueOf(packageSummary.get("totalErrors")), String.valueOf(packageSummary.get("totalFailures")), String.valueOf(packageSummary.get("totalSkipped")), - percentFormat.format(packageSummary.get("totalPercentage")), - numberFormat.format(packageSummary.get("totalElapsedTime")) + " s" + formatI18nString("surefire", "value.successrate", packageSummary.get("totalPercentage")), + formatI18nString("surefire", "value.time", packageSummary.get("totalElapsedTime")) }); } @@ -273,10 +274,6 @@ public class SurefireReportRenderer extends AbstractMavenReportRenderer { } private void renderSectionTestSuite(ReportTestSuite suite) { - NumberFormat numberFormat = NumberFormat.getNumberInstance(locale); - NumberFormat percentFormat = NumberFormat.getPercentInstance(locale); - percentFormat.setMinimumFractionDigits(1); - sink.tableRow(); sink.tableCell(); @@ -310,9 +307,9 @@ public class SurefireReportRenderer extends AbstractMavenReportRenderer { float percentage = parser.computePercentage( suite.getNumberOfTests(), suite.getNumberOfErrors(), suite.getNumberOfFailures(), suite.getNumberOfSkipped()); - tableCell(percentFormat.format(percentage)); + tableCell(formatI18nString("surefire", "value.successrate", percentage)); - tableCell(numberFormat.format(suite.getTimeElapsed()) + " s"); + tableCell(formatI18nString("surefire", "value.time", suite.getTimeElapsed())); sink.tableRow_(); } @@ -372,8 +369,6 @@ public class SurefireReportRenderer extends AbstractMavenReportRenderer { } private void constructTestCaseSection(ReportTestCase testCase) { - NumberFormat numberFormat = NumberFormat.getNumberInstance(locale); - sink.tableRow(); sink.tableCell(); @@ -427,7 +422,7 @@ public class SurefireReportRenderer extends AbstractMavenReportRenderer { sinkCellAnchor(testCase.getName(), "TC_" + toHtmlId(testCase.getFullName())); } - tableCell(numberFormat.format(testCase.getTime()) + " s"); + tableCell(formatI18nString("surefire", "value.time", testCase.getTime())); sink.tableRow_(); diff --git a/maven-surefire-report-plugin/src/main/resources/surefire-report.properties b/maven-surefire-report-plugin/src/main/resources/surefire-report.properties index 2b68fbb02..2523c476b 100644 --- a/maven-surefire-report-plugin/src/main/resources/surefire-report.properties +++ b/maven-surefire-report-plugin/src/main/resources/surefire-report.properties @@ -35,6 +35,9 @@ report.surefire.label.testcases=Test Cases report.surefire.label.failuredetails=Failure Details report.surefire.text.note1=Note: failures are anticipated and checked for with assertions while errors are unanticipated. report.surefire.text.note2=Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers. +report.surefire.value.successrate={0,choice,0#0%|0.0<{0,number,0.0%}|1#{0,number,0%}} +# Needs to be copied into other bundles only if non-Latin script is used +report.surefire.value.time={0,choice,0#0|0.0<{0,number,0.000}|10#{0,number,0.00}|100#{0,number,0.0}|1000#{0,number,0}} s report.failsafe.name=Failsafe report.failsafe.description=Report on the integration test results of the project. diff --git a/maven-surefire-report-plugin/src/main/resources/surefire-report_de.properties b/maven-surefire-report-plugin/src/main/resources/surefire-report_de.properties index 2a3bb905e..2867ac5d2 100644 --- a/maven-surefire-report-plugin/src/main/resources/surefire-report_de.properties +++ b/maven-surefire-report-plugin/src/main/resources/surefire-report_de.properties @@ -35,6 +35,7 @@ report.surefire.label.tests=Tests report.surefire.label.time =Zeit report.surefire.text.note1 =Hinweis: Fehlschl\u00E4ge werden erwartet und durch Behauptungen \u00FCberpr\u00FCft w\u00E4hrend Fehler unerwartet sind. report.surefire.text.note2 =Hinweis: Die Paketstatistiken werden nicht rekursiv berechnet, es werden lediglich die Ergebnisse aller enthaltenen Tests aufsummiert. +report.surefire.value.successrate={0,choice,0#0 %|0.0<{0,number,0.0 %}|1#{0,number,0 %}} report.failsafe.name=Failsafe report.failsafe.description=Bericht \u00FCber die Integrationstestresultate des Projekts. diff --git a/maven-surefire-report-plugin/src/main/resources/surefire-report_sv.properties b/maven-surefire-report-plugin/src/main/resources/surefire-report_sv.properties index 3b60a603c..d1b69679b 100644 --- a/maven-surefire-report-plugin/src/main/resources/surefire-report_sv.properties +++ b/maven-surefire-report-plugin/src/main/resources/surefire-report_sv.properties @@ -35,6 +35,7 @@ report.surefire.label.testcases=Testfall report.surefire.label.failuredetails=Detaljer om misslyckade tester report.surefire.text.note1=Notera: misslyckade tester \u00e4r f\u00f6rv\u00e4ntade och har kontrollerats med assertions medan felaktiga tester \u00e4r ov\u00e4ntade. report.surefire.text.note2=Notera: paketstatistiken ber\u00e4knas inte rekursivt, den summerar bara alla testsviters antal. +report.surefire.value.successrate={0,choice,0#0 %|0.0<{0,number,0.0 %}|1#{0,number,0 %}} report.failsafe.name=Failsafe report.failsafe.description=Rapport om integration testresultaten f\u00f6r projektet. diff --git a/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Surefire597Test.java b/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Surefire597Test.java index f1a45fdc2..598c91678 100644 --- a/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Surefire597Test.java +++ b/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Surefire597Test.java @@ -66,7 +66,7 @@ public class Surefire597Test extends TestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td>" + "</tr>" + "</table>"))); @@ -87,7 +87,7 @@ public class Surefire597Test extends TestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td></tr></table>"))); assertThat( xml, @@ -108,7 +108,7 @@ public class Surefire597Test extends TestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td></tr></table>"))); assertThat( xml, diff --git a/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportMojoTest.java b/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportMojoTest.java index 1b2634aaf..8dab21e86 100644 --- a/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportMojoTest.java +++ b/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportMojoTest.java @@ -193,7 +193,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td>"))); assertThat( @@ -204,7 +204,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td></tr>"))); assertThat( htmlContent, @@ -219,7 +219,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td></tr>"))); assertThat(htmlContent, containsString(">surefire.MyTest:13</a>")); @@ -281,7 +281,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td>"))); assertThat( @@ -292,7 +292,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td></tr>"))); assertThat( htmlContent, @@ -307,7 +307,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td></tr>"))); assertThat(htmlContent, containsString(">surefire.MyTest:13</a>")); @@ -344,7 +344,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td>"))); assertThat( @@ -355,7 +355,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td></tr>"))); assertThat( htmlContent, @@ -370,7 +370,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td></tr>"))); assertThat(htmlContent, containsString(">surefire.MyTest:13</a>")); @@ -432,7 +432,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td>"))); assertThat( @@ -443,7 +443,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td></tr>"))); assertThat( htmlContent, @@ -458,7 +458,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td></tr>"))); assertThat(htmlContent, containsString(">surefire.MyTest$A:45</a>")); @@ -495,7 +495,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td>"))); assertThat( @@ -506,7 +506,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td></tr>"))); assertThat( htmlContent, @@ -521,7 +521,7 @@ public class SurefireReportMojoTest extends AbstractMojoTestCase { + "<td>1</td>\n" + "<td>0</td>\n" + "<td>0</td>\n" - + "<td>0.0%</td>\n" + + "<td>0%</td>\n" + "<td>0 s</td></tr>"))); assertThat(htmlContent, containsString(">surefire.MyTest$A:45</a>"));