You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2014/11/30 15:36:01 UTC

svn commit: r1642549 - in /poi/trunk/src: java/org/apache/poi/hssf/extractor/OldExcelExtractor.java testcases/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java

Author: nick
Date: Sun Nov 30 14:36:01 2014
New Revision: 1642549

URL: http://svn.apache.org/r1642549
Log:
Switch to POITestCase / assertContains

Modified:
    poi/trunk/src/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java
    poi/trunk/src/testcases/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java

Modified: poi/trunk/src/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java?rev=1642549&r1=1642548&r2=1642549&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java Sun Nov 30 14:36:01 2014
@@ -58,11 +58,14 @@ public class OldExcelExtractor {
         }
     }
     public OldExcelExtractor(File f) throws IOException {
-        InputStream input = new FileInputStream(f);
-        if (NPOIFSFileSystem.hasPOIFSHeader(input)) {
+        try {
             open(new NPOIFSFileSystem(f));
-        } else {
-            open(input);
+        } catch (IOException e) {
+            if (e.getMessage().startsWith("Invalid header signature")) {
+                open(new FileInputStream(f));
+            } else {
+                throw e;
+            }
         }
     }
     public OldExcelExtractor(NPOIFSFileSystem fs) throws IOException {

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java?rev=1642549&r1=1642548&r2=1642549&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java Sun Nov 30 14:36:01 2014
@@ -17,17 +17,17 @@
 
 package org.apache.poi.hssf.extractor;
 
+import java.io.File;
 import java.io.InputStream;
 
-import junit.framework.TestCase;
-
+import org.apache.poi.POITestCase;
 import org.apache.poi.hssf.HSSFTestDataSamples;
 
 /**
  * Unit tests for the Excel 5/95 and Excel 4 (and older) text 
  *  extractor
  */
-public final class TestOldExcelExtractor extends TestCase {
+public final class TestOldExcelExtractor extends POITestCase {
     private static OldExcelExtractor createExtractor(String sampleFileName) {
         InputStream is = HSSFTestDataSamples.openSampleFileStream(sampleFileName);
 
@@ -37,7 +37,7 @@ public final class TestOldExcelExtractor
             throw new RuntimeException(e);
         }
     }
-
+    
     public void testSimpleExcel4() {
         OldExcelExtractor extractor = createExtractor("testEXCEL_4.xls");
 
@@ -45,12 +45,12 @@ public final class TestOldExcelExtractor
         String text = extractor.getText();
 
         // Check we find a few words we expect in there
-        assertTrue(text, text.contains("Size"));
-        assertTrue(text, text.contains("Returns"));
+        assertContains(text, "Size");
+        assertContains(text, "Returns");
         
         // Check we find a few numbers we expect in there
-        assertTrue(text, text.contains("11"));
-        assertTrue(text, text.contains("784"));
+        assertContains(text, "11");
+        assertContains(text, "784");
     }
     public void DISABLEDtestSimpleExcel5() {
         for (String ver : new String[] {"5", "95"}) {
@@ -60,12 +60,12 @@ public final class TestOldExcelExtractor
             String text = extractor.getText();
     
             // Check we find a few words we expect in there
-            assertTrue(text, text.contains("Sample Excel"));
-            assertTrue(text, text.contains("Written and saved"));
+            assertContains(text, "Sample Excel");
+            assertContains(text, "Written and saved");
             
             // Check we find a few numbers we expect in there
-            assertTrue(text, text.contains("15"));
-            assertTrue(text, text.contains("169"));
+            assertContains(text, "15");
+            assertContains(text, "169");
         }
     }
 
@@ -74,15 +74,15 @@ public final class TestOldExcelExtractor
         String text = extractor.getText();
 
         // Simple strings
-        assertTrue(text, text.contains("Table 10 -- Examination Coverage:"));
-        assertTrue(text, text.contains("Recommended and Average Recommended Additional Tax After"));
-        assertTrue(text, text.contains("Individual income tax returns, total"));
+        assertContains(text, "Table 10 -- Examination Coverage:");
+        assertContains(text, "Recommended and Average Recommended Additional Tax After");
+        assertContains(text, "Individual income tax returns, total");
         
         // More complicated strings
-        assertTrue(text, text.contains("$100,000 or more"));
-        assertTrue(text, text.contains("S corporation returns, Form 1120S [10,15]"));
+        assertContains(text, "$100,000 or more");
+        assertContains(text, "S corporation returns, Form 1120S [10,15]");
         // TODO Get these quotes working correctly
-//        assertTrue(text, text.contains("individual income tax return \u201Cshort forms.\u201D"));
+//        assertContains(text, "individual income tax return \u201Cshort forms.\u201D");
         
         // Formula based strings
         // TODO Find some then test
@@ -93,17 +93,17 @@ public final class TestOldExcelExtractor
         String text = extractor.getText();
 
         // Simple numbers
-        assertTrue(text, text.contains("151"));
-        assertTrue(text, text.contains("784"));
+        assertContains(text, "151");
+        assertContains(text, "784");
         
         // Numbers which come from formulas
-        assertTrue(text, text.contains("0.398")); // TODO Rounding
-        assertTrue(text, text.contains("624"));
+        assertContains(text, "0.398"); // TODO Rounding
+        assertContains(text, "624");
         
         // Formatted numbers
         // TODO
-//      assertTrue(text, text.contains("55,624"));
-//      assertTrue(text, text.contains("11,743,477"));
+//      assertContains(text, "55,624");
+//      assertContains(text, "11,743,477");
     }
     public void DISABLEDtestFormattedNumbersExcel5() {
         for (String ver : new String[] {"5", "95"}) {
@@ -111,11 +111,23 @@ public final class TestOldExcelExtractor
             String text = extractor.getText();
             
             // Simple numbers
-            assertTrue(text, text.contains("1"));
+            assertContains(text, "1");
             
             // Numbers which come from formulas
-            assertTrue(text, text.contains("13"));
-            assertTrue(text, text.contains("169"));
+            assertContains(text, "13");
+            assertContains(text, "169");
+        }
+    }
+    
+    public void testFromFile() throws Exception {
+        for (String ver : new String[] {"4", "5", "95"}) {
+            String filename = "testEXCEL_"+ver+".xls";
+            File f = HSSFTestDataSamples.getSampleFile(filename);
+            
+            OldExcelExtractor extractor = new OldExcelExtractor(f);
+            String text = extractor.getText();
+            assertNotNull(text);
+            assertTrue(text.length() > 100);
         }
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org