]> source.dussan.org Git - poi.git/commitdiff
add broken (disabled) test to show issue with ISO 8601 format
authorPJ Fanning <fanningpj@apache.org>
Wed, 28 Jul 2021 18:38:21 +0000 (18:38 +0000)
committerPJ Fanning <fanningpj@apache.org>
Wed, 28 Jul 2021 18:38:21 +0000 (18:38 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1891859 13f79535-47bb-0310-9956-ffa450edef68

poi/src/main/java/org/apache/poi/ss/formula/functions/TextFunction.java
poi/src/test/java/org/apache/poi/ss/formula/functions/TestText.java

index 449d6d7f35cad185cbf60b9ceb7361baf324fa73..b8b69c3e02e20965b14c4f88ba8e5b632d9f6bd4 100644 (file)
@@ -352,8 +352,8 @@ public abstract class TextFunction implements Function {
             }
 
             try {
-            // Ask DataFormatter to handle the String for us
-               String formattedStr = formatter.formatRawCellContents(s0, -1, s1);
+                // Ask DataFormatter to handle the String for us
+                String formattedStr = formatter.formatRawCellContents(s0, -1, s1);
                 return new StringEval(formattedStr);
             } catch (Exception e) {
                 return ErrorEval.VALUE_INVALID;
index ddcdd35165f3f3a432689bc02c006e077b1c7cbd..cbbfaad11f7b1e3dbae2fee0082650fcd6c3c51f 100644 (file)
@@ -29,6 +29,7 @@ import org.apache.poi.ss.formula.eval.NumberEval;
 import org.apache.poi.ss.formula.eval.StringEval;
 import org.apache.poi.ss.formula.eval.ValueEval;
 import org.apache.poi.util.LocaleUtil;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 /**
@@ -45,7 +46,7 @@ final class TestText {
     }
 
     @Test
-    void testTextWithDeciamlFormatSecondArg() {
+    void testTextWithDecimalFormatSecondArg() {
         ValueEval numArg = new NumberEval(321321.321);
         ValueEval formatArg = new StringEval("#,###.00000");
         ValueEval[] args = { numArg, formatArg };
@@ -136,4 +137,23 @@ final class TestText {
             LocaleUtil.setUserTimeZone(userTZ);
         }
     }
+
+    @Disabled("see https://bz.apache.org/bugzilla/show_bug.cgi?id=65471")
+    @Test
+    void testTextWithISODateTimeFormatSecondArg() {
+        TimeZone userTZ = LocaleUtil.getUserTimeZone();
+        LocaleUtil.setUserTimeZone(TimeZone.getTimeZone("CET"));
+        try {
+            // Test with Java style M=Month
+            ValueEval numArg = new NumberEval(321.321);
+            ValueEval formatArg = new StringEval("yyyy-mm-ddThh:MM:ss");
+            ValueEval[] args = { numArg, formatArg };
+            ValueEval result = TextFunction.TEXT.evaluate(args, -1, (short)-1);
+            ValueEval testResult = new StringEval("1900-11-16T07:42:14");
+            assertEquals(testResult.toString(), result.toString());
+        } finally {
+            LocaleUtil.setUserTimeZone(userTZ);
+        }
+    }
+
 }