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 e992a374e3ed2a1076f4e7c110475871538a3781
Author: Michael Osipov <micha...@apache.org>
AuthorDate: Fri May 19 21:25:19 2023 +0200

    Use typographically correct en dash approximations
    
    
https://en.wikipedia.org/wiki/Dash#Approximating_the_em_dash_with_two_or_three_hyphens
---
 .../surefire/report/TestSuiteXmlParser.java        | 33 ++++++++--------------
 1 file changed, 12 insertions(+), 21 deletions(-)

diff --git 
a/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java
 
b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java
index 83ccc0619..95b31623b 100644
--- 
a/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java
+++ 
b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java
@@ -26,8 +26,6 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
-import java.text.NumberFormat;
-import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -40,15 +38,12 @@ import org.xml.sax.SAXException;
 import org.xml.sax.helpers.DefaultHandler;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
-import static java.util.Locale.ENGLISH;
 import static org.apache.maven.shared.utils.StringUtils.isBlank;
 
 /**
  *
  */
 public final class TestSuiteXmlParser extends DefaultHandler {
-    private final NumberFormat numberFormat = 
NumberFormat.getInstance(ENGLISH);
-
     private final ConsoleLogger consoleLogger;
 
     private ReportTestSuite defaultSuite;
@@ -111,13 +106,11 @@ public final class TestSuiteXmlParser extends 
DefaultHandler {
                     case "testsuite":
                         defaultSuite = new ReportTestSuite();
                         currentSuite = defaultSuite;
-
-                        try {
-                            Number time = 
numberFormat.parse(attributes.getValue("time"));
-
-                            defaultSuite.setTimeElapsed(time.floatValue());
-                        } catch (NullPointerException e) {
-                            consoleLogger.error("WARNING: no time attribute 
found on testsuite element");
+                        String timeStr = attributes.getValue("time");
+                        if (timeStr != null) {
+                            
defaultSuite.setTimeElapsed(Float.parseFloat(timeStr));
+                        } else {
+                            consoleLogger.warning("No time attribute found on 
testsuite element");
                         }
 
                         final String name = attributes.getValue("name");
@@ -149,13 +142,12 @@ public final class TestSuiteXmlParser extends 
DefaultHandler {
                             }
                         }
 
-                        String timeAsString = attributes.getValue("time");
-                        Number time = isBlank(timeAsString) ? 0 : 
numberFormat.parse(timeAsString);
+                        timeStr = attributes.getValue("time");
 
                         
testCase.setFullClassName(currentSuite.getFullClassName())
                                 .setClassName(currentSuite.getName())
                                 .setFullName(currentSuite.getFullClassName() + 
"." + testCase.getName())
-                                .setTime(time.floatValue());
+                                .setTime(timeStr != null ? 
Float.parseFloat(timeStr) : 0.0f);
 
                         if (currentSuite != defaultSuite) {
                             currentSuite.setTimeElapsed(testCase.getTime() + 
currentSuite.getTimeElapsed());
@@ -184,8 +176,8 @@ public final class TestSuiteXmlParser extends 
DefaultHandler {
                     default:
                         break;
                 }
-            } catch (ParseException e) {
-                throw new SAXException(e.getMessage(), e);
+            } catch (NumberFormatException e) {
+                throw new SAXException("Failed to parse time value", e);
             }
         }
     }
@@ -206,10 +198,9 @@ public final class TestSuiteXmlParser extends 
DefaultHandler {
                 break;
             case "time":
                 try {
-                    defaultSuite.setTimeElapsed(
-                            
numberFormat.parse(currentElement.toString()).floatValue());
-                } catch (ParseException e) {
-                    throw new SAXException(e.getMessage(), e);
+                    
defaultSuite.setTimeElapsed(Float.parseFloat(currentElement.toString()));
+                } catch (NumberFormatException e) {
+                    throw new SAXException("Failed to parse time value", e);
                 }
                 break;
             default:

Reply via email to