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 2019d1ed86dbd9fc7ca2097969f2239d2e74a0d6
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>"));

Reply via email to