From: Nick Burch Date: Tue, 5 Aug 2008 22:29:20 +0000 (+0000) Subject: More tests for bug #45365, but still not able to reproduce it X-Git-Tag: REL_3_2_FINAL~208 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=d0aeb2c0e05ed7ec0f16a299b5e2b9e499be2bad;p=poi.git More tests for bug #45365, but still not able to reproduce it git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@682999 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/java/org/apache/poi/hssf/eventusermodel/FormatTrackingHSSFListener.java b/src/java/org/apache/poi/hssf/eventusermodel/FormatTrackingHSSFListener.java index 355a9b71f0..ff34958e6e 100644 --- a/src/java/org/apache/poi/hssf/eventusermodel/FormatTrackingHSSFListener.java +++ b/src/java/org/apache/poi/hssf/eventusermodel/FormatTrackingHSSFListener.java @@ -16,11 +16,7 @@ ==================================================================== */ package org.apache.poi.hssf.eventusermodel; -import java.text.DateFormat; -import java.text.DecimalFormat; -import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Date; import java.util.Hashtable; import java.util.List; import java.util.Map; @@ -33,7 +29,6 @@ import org.apache.poi.hssf.record.NumberRecord; import org.apache.poi.hssf.record.Record; import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.hssf.usermodel.HSSFDataFormatter; -import org.apache.poi.hssf.usermodel.HSSFDateUtil; /** * A proxy HSSFListener that keeps track of the document @@ -50,6 +45,13 @@ public class FormatTrackingHSSFListener implements HSSFListener { this.childListener = childListener; } + protected int getNumberOfCustomFormats() { + return customFormatRecords.size(); + } + protected int getNumberOfExtendedFormats() { + return xfRecords.size(); + } + /** * Process this record ourselves, and then * pass it on to our child listener diff --git a/src/testcases/org/apache/poi/hssf/data/45365-2.xls b/src/testcases/org/apache/poi/hssf/data/45365-2.xls new file mode 100644 index 0000000000..b5e66c1d73 Binary files /dev/null and b/src/testcases/org/apache/poi/hssf/data/45365-2.xls differ diff --git a/src/testcases/org/apache/poi/hssf/eventusermodel/TestFormatTrackingHSSFListener.java b/src/testcases/org/apache/poi/hssf/eventusermodel/TestFormatTrackingHSSFListener.java index 60f5d2ca72..0c28c48412 100644 --- a/src/testcases/org/apache/poi/hssf/eventusermodel/TestFormatTrackingHSSFListener.java +++ b/src/testcases/org/apache/poi/hssf/eventusermodel/TestFormatTrackingHSSFListener.java @@ -62,31 +62,45 @@ public final class TestFormatTrackingHSSFListener extends TestCase { /** * Ensure that all number and formula records can be - * turned into strings without problems + * turned into strings without problems. + * For now, we're just looking to get text back, no + * exceptions thrown, but in future we might also + * want to check the exact strings! */ public void testTurnToString() throws Exception { - processFile("45365.xls"); - - for(int i=0; i 5); + assertTrue(listener.getNumberOfExtendedFormats() > 5); - if(cvr != null) { - // Should always give us a string - String s = listener.formatNumberDateCell(cvr); - assertNotNull(s); - assertTrue(s.length() > 0); + // Now check we can turn all the numeric + // cells into strings without error + for(int i=0; i 0); + } } + + // TODO - test some specific format strings } - - // TODO - test some specific format strings } private static final class MockHSSFListener implements HSSFListener {