Index: trunk/test/unit/org/openstreetmap/josm/tools/JosmDecimalFormatSymbolsProviderTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/tools/JosmDecimalFormatSymbolsProviderTest.java	(revision 19053)
+++ trunk/test/unit/org/openstreetmap/josm/tools/JosmDecimalFormatSymbolsProviderTest.java	(revision 19054)
@@ -5,4 +5,5 @@
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.IOException;
@@ -15,4 +16,6 @@
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 /**
@@ -32,16 +35,35 @@
     }
 
-    @Test
-    void testGroupingSeparator() {
+    static Stream<Locale> testGroupingSeparator() {
         System.out.println(Locale.getDefault());
 
         assertTrue(I18n.getAvailableTranslations().count() > 10);
-        I18n.getAvailableTranslations().forEach(this::checkGroupingSymbol);
-        Stream.of("", "AU", "IE", "US", "UK").map(country -> new Locale("en", country, "")).forEach(this::checkGroupingSymbol);
-        Stream.of("", "AT", "CH", "DE").map(country -> new Locale("de", country, "")).forEach(this::checkGroupingSymbol);
+        return Stream.concat(
+                I18n.getAvailableTranslations(),
+                Stream.concat(Stream.of("", "AU", "IE", "US", "UK").map(country -> new Locale("en", country, "")),
+                        Stream.of("", "AT", "CH", "DE").map(country -> new Locale("de", country, ""))
+                ));
     }
 
-    private void checkGroupingSymbol(Locale locale) {
-        assertEquals("123\u202F456", DecimalFormat.getInstance(locale).format(123_456), locale.toString());
+    @ParameterizedTest
+    @MethodSource
+    void testGroupingSeparator(Locale locale) {
+        final String formattedNumber = DecimalFormat.getInstance(locale).format(123_456);
+        // Note: If you have to add another numeral system, please indicate the name and the locale(s) it is for.
+        if (formattedNumber.startsWith("1")) {
+            // Western Arabic (for most locales)
+            assertEquals("123\u202F456", formattedNumber, locale.toString() + ": " + locale.getDisplayName());
+        } else if (formattedNumber.startsWith("١")) {
+            // Eastern Arabic (for Arabic locale)
+            assertEquals("١٢٣\u202F٤٥٦", formattedNumber, locale.toString() + ": " + locale.getDisplayName());
+        } else if (formattedNumber.startsWith("۱")) {
+            // Urdu (for Persian locale)
+            assertEquals("۱۲۳\u202F۴۵۶", formattedNumber, locale.toString() + ": " + locale.getDisplayName());
+        } else if (formattedNumber.startsWith("१")) {
+            // Devanagari (for Marathi locale)
+            assertEquals("१२३\u202F४५६", formattedNumber, locale.toString() + ": " + locale.getDisplayName());
+        } else {
+            fail(locale.toString() + " (" + locale.getDisplayName() + "): " + formattedNumber);
+        }
     }
 
Index: trunk/test/unit/org/openstreetmap/josm/tools/date/DateUtilsTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/tools/date/DateUtilsTest.java	(revision 19053)
+++ trunk/test/unit/org/openstreetmap/josm/tools/date/DateUtilsTest.java	(revision 19054)
@@ -160,5 +160,5 @@
 
         setTimeZone(TimeZone.getTimeZone("Europe/Berlin"));
-        assertEquals("1:00:00 AM CET", DateUtils.formatTime(new Date(0), DateFormat.LONG));
+        assertEquals("1:00:00 AM GMT+01:00", DateUtils.formatTime(new Date(0), DateFormat.LONG), "This is mostly dependent upon java.locale.providers. CET is also OK.");
     }
 
@@ -308,3 +308,12 @@
         }
     }
+
+    /**
+     * Some Java version use narrow no-break space ("NNBSP") instead of a space.
+     * @param time The time string with NNBSP instead of a space
+     * @return The time with spaces instead of NNBSP
+     */
+    private static String replaceWhitespace(String time) {
+        return time.replace((char) 8239 /* "NNBSP" */, ' ');
+    }
 }
