]> source.dussan.org Git - poi.git/commitdiff
Bug 60422 add testtestcase with current LocaleUtil workaround
authorPJ Fanning <fanningpj@apache.org>
Fri, 23 Jun 2017 23:42:25 +0000 (23:42 +0000)
committerPJ Fanning <fanningpj@apache.org>
Fri, 23 Jun 2017 23:42:25 +0000 (23:42 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1799721 13f79535-47bb-0310-9956-ffa450edef68

src/testcases/org/apache/poi/ss/usermodel/TestDataFormatter.java

index b4f3b7dde40ff38e528700375a55889ce5849e64..03b8398e3e0b811bab318c6bca3126edb85c964f 100644 (file)
@@ -851,4 +851,25 @@ public class TestDataFormatter {
         assertEquals("08:51", dfUS.formatRawCellContents(42605.368761574071, -1, "hh:mm"));
         assertEquals("51:01", dfUS.formatRawCellContents(42605.368761574071, -1, "mm:ss"));
     }
+
+    /**
+     * bug 60422 : DataFormatter has issues with a specific NumberFormat in Germany default locale
+     * Currently, this test only passes if you set LocaleUtil.setUserLocale(Locale.ROOT) or Locale.US.
+     */
+    @Test
+    public void testBug60422() {
+        Locale defaultLocale = Locale.getDefault();
+        Locale.setDefault(Locale.GERMANY);
+        LocaleUtil.setUserLocale(Locale.ROOT);
+        try {
+            char euro = '\u20AC';
+            DataFormatter df = new DataFormatter();
+            String formatString = String.format(
+                    "_-* #,##0.00\\ \"%s\"_-;\\-* #,##0.00\\ \"%s\"_-;_-* \"-\"??\\ \"%s\"_-;_-@_-",
+                    euro, euro, euro);
+            assertEquals("4.33 " + euro, df.formatRawCellContents(4.33, 178, formatString));
+        } finally {
+            Locale.setDefault(defaultLocale);
+        }
+    }
 }