Add a (disabled, as broken) test to show that HXFExcelExtractor and ExcelExtractor basically agree on extracting text from the same file (which they do not quite do yet!)

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@609941 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2008-01-08 11:54:26 +00:00
parent 426659fee3
commit 033dfb4f0c

View File

@ -17,13 +17,16 @@
package org.apache.poi.hssf.extractor; package org.apache.poi.hssf.extractor;
import java.io.File; import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.hssf.HSSFXML;
import org.apache.poi.hssf.usermodel.HSSFXMLWorkbook;
import org.apache.poi.hxf.HXFDocument;
import junit.framework.TestCase; import junit.framework.TestCase;
import org.apache.poi.POITextExtractor;
import org.apache.poi.hssf.HSSFXML;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFXMLWorkbook;
import org.apache.poi.hxf.HXFDocument;
/** /**
* Tests for HXFExcelExtractor * Tests for HXFExcelExtractor
*/ */
@ -37,6 +40,15 @@ public class TestHXFExcelExtractor extends TestCase {
*/ */
private HSSFXML xmlB; private HSSFXML xmlB;
/**
* A fairly simple file - ooxml
*/
private HSSFXML simpleXLSX;
/**
* A fairly simple file - ole2
*/
private HSSFWorkbook simpleXLS;
protected void setUp() throws Exception { protected void setUp() throws Exception {
super.setUp(); super.setUp();
@ -49,8 +61,20 @@ public class TestHXFExcelExtractor extends TestCase {
File.separator + "AverageTaxRates.xlsx" File.separator + "AverageTaxRates.xlsx"
); );
File fileSOOXML = new File(
System.getProperty("HSSF.testdata.path") +
File.separator + "SampleSS.xlsx"
);
File fileSOLE2 = new File(
System.getProperty("HSSF.testdata.path") +
File.separator + "SampleSS.xls"
);
xmlA = new HSSFXML(HXFDocument.openPackage(fileA)); xmlA = new HSSFXML(HXFDocument.openPackage(fileA));
xmlB = new HSSFXML(HXFDocument.openPackage(fileB)); xmlB = new HSSFXML(HXFDocument.openPackage(fileB));
simpleXLSX = new HSSFXML(HXFDocument.openPackage(fileSOOXML));
simpleXLS = new HSSFWorkbook(new FileInputStream(fileSOLE2));
} }
/** /**
@ -140,4 +164,31 @@ public class TestHXFExcelExtractor extends TestCase {
"3\t13\t3\t2\t2\t3\t2\t" "3\t13\t3\t2\t2\t3\t2\t"
)); ));
} }
/**
* Test that we return pretty much the same as
* ExcelExtractor does, when we're both passed
* the same file, just saved as xls and xlsx
*/
public void BROKENtestComparedToOLE2() throws Exception {
HXFExcelExtractor ooxmlExtractor =
new HXFExcelExtractor(simpleXLSX.getPackage());
ExcelExtractor ole2Extractor =
new ExcelExtractor(simpleXLS);
POITextExtractor[] extractors =
new POITextExtractor[] { ooxmlExtractor, ole2Extractor };
for (int i = 0; i < extractors.length; i++) {
POITextExtractor extractor = extractors[i];
String text = extractor.getText().replace("\r", "");
System.out.println(text.length());
System.out.println(text);
assertTrue(text.startsWith("First Sheet\nTest spreadsheet\t\n2nd row\t2nd row 2nd column\n"));
assertTrue(text.endsWith("13.0\nSheet3\n"));
assertTrue(text.length() >= 214);
assertTrue(text.length() <= 214);
}
}
} }