]> source.dussan.org Git - poi.git/commitdiff
Bug 60031: Enhance test some more
authorDominik Stadler <centic@apache.org>
Thu, 26 Jan 2017 19:58:18 +0000 (19:58 +0000)
committerDominik Stadler <centic@apache.org>
Thu, 26 Jan 2017 19:58:18 +0000 (19:58 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1780450 13f79535-47bb-0310-9956-ffa450edef68

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

index 8e6e38932d5be2c220384ca1f74602b72ca7fc9b..4b196316e76541687596d944cd19fad2dc387425 100644 (file)
@@ -815,17 +815,30 @@ public class TestDataFormatter {
         assertEquals("5.6789", formatter.formatCellValue(cell, evaluator));
 
         wb.close();
-    }\r
+    }
     
     /**
      * bug 60031: DataFormatter parses months incorrectly when put at the end of date segment
-     */\r
-    @Test\r
-    public void testBug60031() {\r
-        // 23-08-2016 08:51:01 which is 42605.368761574071 as double will be parsed\r
-        // with format "yyyy-dd-MM HH:mm:ss" into "2016-23-51 08:51:01".\r
-        DataFormatter dfUS = new DataFormatter(Locale.US);\r
+     */
+    @Test
+    public void testBug60031() {
+        // 23-08-2016 08:51:01 which is 42605.368761574071 as double was parsed
+        // with format "yyyy-dd-MM HH:mm:ss" into "2016-23-51 08:51:01".
+        DataFormatter dfUS = new DataFormatter(Locale.US);
         assertEquals("2016-23-08 08:51:01", dfUS.formatRawCellContents(42605.368761574071, -1, "yyyy-dd-MM HH:mm:ss"));
-        assertEquals("2017-12-01 January 09:54:33", dfUS.formatRawCellContents(42747.412892397523, -1, "yyyy-dd-MM MMMM HH:mm:ss"));\r
+        assertEquals("2016-23 08:51:01 08", dfUS.formatRawCellContents(42605.368761574071, -1, "yyyy-dd HH:mm:ss MM"));
+        assertEquals("2017-12-01 January 09:54:33", dfUS.formatRawCellContents(42747.412892397523, -1, "yyyy-dd-MM MMMM HH:mm:ss"));
+        assertEquals("08", dfUS.formatRawCellContents(42605.368761574071, -1, "MM"));
+        assertEquals("01", dfUS.formatRawCellContents(42605.368761574071, -1, "ss"));
+
+        // From Excel help:
+        /*
+            The "m" or "mm" code must appear immediately after the "h" or"hh"
+            code or immediately before the "ss" code; otherwise, Microsoft
+            Excel displays the month instead of minutes."
+          */
+        assertEquals("08", dfUS.formatRawCellContents(42605.368761574071, -1, "mm"));
+        assertEquals("08:51", dfUS.formatRawCellContents(42605.368761574071, -1, "hh:mm"));
+        assertEquals("51:01", dfUS.formatRawCellContents(42605.368761574071, -1, "mm:ss"));
     }
 }