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:
parent
426659fee3
commit
033dfb4f0c
@ -17,13 +17,16 @@
|
||||
package org.apache.poi.hssf.extractor;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.poi.hssf.HSSFXML;
|
||||
import org.apache.poi.hssf.usermodel.HSSFXMLWorkbook;
|
||||
import org.apache.poi.hxf.HXFDocument;
|
||||
import java.io.FileInputStream;
|
||||
|
||||
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
|
||||
*/
|
||||
@ -37,6 +40,15 @@ public class TestHXFExcelExtractor extends TestCase {
|
||||
*/
|
||||
private HSSFXML xmlB;
|
||||
|
||||
/**
|
||||
* A fairly simple file - ooxml
|
||||
*/
|
||||
private HSSFXML simpleXLSX;
|
||||
/**
|
||||
* A fairly simple file - ole2
|
||||
*/
|
||||
private HSSFWorkbook simpleXLS;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
||||
@ -49,8 +61,20 @@ public class TestHXFExcelExtractor extends TestCase {
|
||||
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));
|
||||
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"
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user