aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ooxml/testcases/org/apache/poi/TestDetectAsOOXML.java19
-rwxr-xr-xsrc/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java2
-rw-r--r--src/ooxml/testcases/org/apache/poi/ss/TestWorkbookFactory.java39
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/XSSFTestDataSamples.java8
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java31
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/model/TestCommentsTable.java34
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/model/TestStylesTable.java18
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFHyperlink.java16
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java10
-rw-r--r--src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFDocument.java47
-rwxr-xr-xsrc/ooxml/testcases/org/apache/poi/xwpf/XWPFTestDataSamples.java54
-rw-r--r--src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestXWPFWordExtractor.java36
-rw-r--r--src/ooxml/testcases/org/apache/poi/xwpf/model/TestXWPFHeaderFooterPolicy.java49
-rw-r--r--src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeader.java23
-rw-r--r--src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java19
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/HWPFDocFixture.java13
-rwxr-xr-xsrc/scratchpad/testcases/org/apache/poi/hwpf/HWPFTestDataSamples.java65
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFPictures.java53
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFRangeParts.java15
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestDifferentRoutes.java7
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractor.java53
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractorBugs.java8
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/model/TestSavedByTable.java14
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/model/TestTextPieceTable.java15
-rwxr-xr-xsrc/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug46610.java14
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestHeaderStories.java28
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestPictures.java30
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestProblems.java24
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeDelete.java16
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeInsertion.java14
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeProperties.java14
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeReplacement.java20
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestShapes.java5
-rwxr-xr-xsrc/testcases/org/apache/poi/POIDataSamples.java182
-rw-r--r--src/testcases/org/apache/poi/hssf/HSSFTestDataSamples.java161
35 files changed, 496 insertions, 660 deletions
diff --git a/src/ooxml/testcases/org/apache/poi/TestDetectAsOOXML.java b/src/ooxml/testcases/org/apache/poi/TestDetectAsOOXML.java
index dca593c3c7..2461f463dd 100644
--- a/src/ooxml/testcases/org/apache/poi/TestDetectAsOOXML.java
+++ b/src/ooxml/testcases/org/apache/poi/TestDetectAsOOXML.java
@@ -22,23 +22,18 @@ package org.apache.poi;
import junit.framework.TestCase;
import java.io.*;
+import org.apache.poi.hssf.HSSFTestDataSamples;
+import org.apache.poi.openxml4j.opc.OPCPackage;
+
/**
* Class to test that HXF correctly detects OOXML
* documents
*/
public class TestDetectAsOOXML extends TestCase
{
- public String dirname;
-
- public void setUp() {
- dirname = System.getProperty("HSSF.testdata.path");
- }
-
public void testOpensProperly() throws Exception
{
- File f = new File(dirname + "/sample.xlsx");
-
- POIXMLDocument.openPackage(f.toString());
+ OPCPackage.open(HSSFTestDataSamples.openSampleFileStream("sample.xlsx"));
}
public void testDetectAsPOIFS() throws Exception {
@@ -46,19 +41,19 @@ public class TestDetectAsOOXML extends TestCase
// ooxml file is
in = new PushbackInputStream(
- new FileInputStream(dirname + "/SampleSS.xlsx"), 10
+ HSSFTestDataSamples.openSampleFileStream("SampleSS.xlsx"), 10
);
assertTrue(POIXMLDocument.hasOOXMLHeader(in));
// xls file isn't
in = new PushbackInputStream(
- new FileInputStream(dirname + "/SampleSS.xls"), 10
+ HSSFTestDataSamples.openSampleFileStream("SampleSS.xls"), 10
);
assertFalse(POIXMLDocument.hasOOXMLHeader(in));
// text file isn't
in = new PushbackInputStream(
- new FileInputStream(dirname + "/SampleSS.txt"), 10
+ HSSFTestDataSamples.openSampleFileStream("SampleSS.txt"), 10
);
assertFalse(POIXMLDocument.hasOOXMLHeader(in));
}
diff --git a/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java b/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java
index 7d0128618b..dd9eeeb939 100755
--- a/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java
+++ b/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java
@@ -175,7 +175,7 @@ public final class TestPOIXMLProperties extends TestCase {
public void testGetSetRevision() {
String revision = _coreProperties.getRevision();
- assertTrue("Revision number is 1", new Integer(_coreProperties.getRevision()).intValue() > 1);
+ assertTrue("Revision number is 1", new Integer(revision)> 1);
_coreProperties.setRevision("20");
assertEquals("20", _coreProperties.getRevision());
_coreProperties.setRevision("20xx");
diff --git a/src/ooxml/testcases/org/apache/poi/ss/TestWorkbookFactory.java b/src/ooxml/testcases/org/apache/poi/ss/TestWorkbookFactory.java
index 0cebd76410..6858e93acb 100644
--- a/src/ooxml/testcases/org/apache/poi/ss/TestWorkbookFactory.java
+++ b/src/ooxml/testcases/org/apache/poi/ss/TestWorkbookFactory.java
@@ -17,10 +17,8 @@
package org.apache.poi.ss;
-import java.io.File;
-import java.io.FileInputStream;
-
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
@@ -30,26 +28,14 @@ import org.apache.poi.openxml4j.opc.OPCPackage;
import junit.framework.TestCase;
public final class TestWorkbookFactory extends TestCase {
- private File xls;
- private File xlsx;
- private File txt;
+ private String xls;
+ private String xlsx;
+ private String txt;
protected void setUp() {
- xls = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "SampleSS.xls"
- );
- xlsx = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "SampleSS.xlsx"
- );
- txt = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "SampleSS.txt"
- );
- assertTrue(xls.exists());
- assertTrue(xlsx.exists());
- assertTrue(txt.exists());
+ xls = "SampleSS.xls";
+ xlsx = "SampleSS.xlsx";
+ txt = "SampleSS.txt";
}
public void testCreateNative() throws Exception {
@@ -57,14 +43,15 @@ public final class TestWorkbookFactory extends TestCase {
// POIFS -> hssf
wb = WorkbookFactory.create(
- new POIFSFileSystem(new FileInputStream(xls))
+ new POIFSFileSystem(HSSFTestDataSamples.openSampleFileStream(xls))
);
assertNotNull(wb);
assertTrue(wb instanceof HSSFWorkbook);
// Package -> xssf
wb = WorkbookFactory.create(
- OPCPackage.open(xlsx.toString())
+ OPCPackage.open(
+ HSSFTestDataSamples.openSampleFileStream(xlsx))
);
assertNotNull(wb);
assertTrue(wb instanceof XSSFWorkbook);
@@ -80,20 +67,20 @@ public final class TestWorkbookFactory extends TestCase {
// InputStream -> either
wb = WorkbookFactory.create(
- new FileInputStream(xls)
+ HSSFTestDataSamples.openSampleFileStream(xls)
);
assertNotNull(wb);
assertTrue(wb instanceof HSSFWorkbook);
wb = WorkbookFactory.create(
- new FileInputStream(xlsx)
+ HSSFTestDataSamples.openSampleFileStream(xlsx)
);
assertNotNull(wb);
assertTrue(wb instanceof XSSFWorkbook);
try {
wb = WorkbookFactory.create(
- new FileInputStream(txt)
+ HSSFTestDataSamples.openSampleFileStream(txt)
);
fail();
} catch(IllegalArgumentException e) {
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/XSSFTestDataSamples.java b/src/ooxml/testcases/org/apache/poi/xssf/XSSFTestDataSamples.java
index 95b8d71b14..94df0da632 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/XSSFTestDataSamples.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/XSSFTestDataSamples.java
@@ -38,6 +38,14 @@ import org.apache.poi.util.TempFile;
* @author Josh Micich
*/
public class XSSFTestDataSamples {
+
+ public static InputStream openSampleFileStream(String sampleFileName) {
+ return HSSFTestDataSamples.openSampleFileStream(sampleFileName);
+ }
+ public static byte[] getTestDataFileContent(String fileName) {
+ return HSSFTestDataSamples.getTestDataFileContent(fileName);
+ }
+
public static final XSSFWorkbook openSampleWorkbook(String sampleName) {
InputStream is = HSSFTestDataSamples.openSampleFileStream(sampleName);
try {
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java b/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
index f02cfb4e47..7e6281e757 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
@@ -25,31 +25,16 @@ import junit.framework.TestCase;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
+import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.openxml4j.opc.OPCPackage;
/**
* Tests for {@link XSSFReader}
*/
public final class TestXSSFReader extends TestCase {
- private String dirName;
-
- @Override
- protected void setUp() {
-
- dirName = System.getProperty("HSSF.testdata.path");
- assertNotNull(dirName);
- assertTrue( (new File(dirName)).exists() );
-
- // Use system out logger
- System.setProperty(
- "org.apache.poi.util.POILogger",
- "org.apache.poi.util.SystemOutLogger"
- );
- }
public void testGetBits() throws Exception {
- File f = new File(dirName, "SampleSS.xlsx");
- OPCPackage pkg = OPCPackage.open(f.toString());
+ OPCPackage pkg = OPCPackage.open(XSSFTestDataSamples.openSampleFileStream("SampleSS.xlsx"));
XSSFReader r = new XSSFReader(pkg);
@@ -62,8 +47,7 @@ public final class TestXSSFReader extends TestCase {
}
public void testStyles() throws Exception {
- File f = new File(dirName, "SampleSS.xlsx");
- OPCPackage pkg = OPCPackage.open(f.toString());
+ OPCPackage pkg = OPCPackage.open(XSSFTestDataSamples.openSampleFileStream("SampleSS.xlsx"));
XSSFReader r = new XSSFReader(pkg);
@@ -72,8 +56,7 @@ public final class TestXSSFReader extends TestCase {
}
public void testStrings() throws Exception {
- File f = new File(dirName, "SampleSS.xlsx");
- OPCPackage pkg = OPCPackage.open(f.toString());
+ OPCPackage pkg = OPCPackage.open(XSSFTestDataSamples.openSampleFileStream("SampleSS.xlsx"));
XSSFReader r = new XSSFReader(pkg);
@@ -82,8 +65,7 @@ public final class TestXSSFReader extends TestCase {
}
public void testSheets() throws Exception {
- File f = new File(dirName, "SampleSS.xlsx");
- OPCPackage pkg = OPCPackage.open(f.toString());
+ OPCPackage pkg = OPCPackage.open(XSSFTestDataSamples.openSampleFileStream("SampleSS.xlsx"));
XSSFReader r = new XSSFReader(pkg);
byte[] data = new byte[4096];
@@ -115,8 +97,7 @@ public final class TestXSSFReader extends TestCase {
* (as they are defined in the workbook.xml)
*/
public void testOrderOfSheets() throws Exception {
- File f = new File(dirName, "reordered_sheets.xlsx");
- OPCPackage pkg = OPCPackage.open(f.toString());
+ OPCPackage pkg = OPCPackage.open(XSSFTestDataSamples.openSampleFileStream("reordered_sheets.xlsx"));
XSSFReader r = new XSSFReader(pkg);
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/model/TestCommentsTable.java b/src/ooxml/testcases/org/apache/poi/xssf/model/TestCommentsTable.java
index 07eaa4b8fc..14dde090e2 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/model/TestCommentsTable.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/model/TestCommentsTable.java
@@ -19,7 +19,6 @@ package org.apache.poi.xssf.model;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.File;
import java.util.List;
import org.apache.poi.ss.usermodel.Cell;
@@ -120,14 +119,7 @@ public class TestCommentsTable extends TestCase {
}
public void testDontLoostNewLines() throws Exception {
- File xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "WithVariousData.xlsx"
- );
- assertTrue(xml.exists());
-
- OPCPackage pkg = OPCPackage.open(xml.toString());
- XSSFWorkbook wb = new XSSFWorkbook(pkg);
+ XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("WithVariousData.xlsx");
List<POIXMLDocumentPart> rels = wb.getSheetAt(0).getRelations();
CommentsTable ct = null;
for(POIXMLDocumentPart p : rels) {
@@ -171,13 +163,7 @@ public class TestCommentsTable extends TestCase {
}
public void testExisting() throws Exception {
- File xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "WithVariousData.xlsx"
- );
- assertTrue(xml.exists());
-
- XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
+ XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("WithVariousData.xlsx");
Sheet sheet1 = workbook.getSheetAt(0);
Sheet sheet2 = workbook.getSheetAt(1);
@@ -207,13 +193,7 @@ public class TestCommentsTable extends TestCase {
}
public void testWriteRead() throws Exception {
- File xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "WithVariousData.xlsx"
- );
- assertTrue(xml.exists());
-
- XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
+ XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("WithVariousData.xlsx");
XSSFSheet sheet1 = workbook.getSheetAt(0);
XSSFSheet sheet2 = workbook.getSheetAt(1);
@@ -260,13 +240,7 @@ public class TestCommentsTable extends TestCase {
}
public void testReadWriteMultipleAuthors() throws Exception {
- File xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "WithMoreVariousData.xlsx"
- );
- assertTrue(xml.exists());
-
- XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
+ XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("WithMoreVariousData.xlsx");
XSSFSheet sheet1 = workbook.getSheetAt(0);
XSSFSheet sheet2 = workbook.getSheetAt(1);
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/model/TestStylesTable.java b/src/ooxml/testcases/org/apache/poi/xssf/model/TestStylesTable.java
index 46b0fd802c..7adfdd0f5c 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/model/TestStylesTable.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/model/TestStylesTable.java
@@ -17,8 +17,6 @@
package org.apache.poi.xssf.model;
-import java.io.File;
-
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.XSSFTestDataSamples;
@@ -26,15 +24,7 @@ import org.apache.poi.xssf.XSSFTestDataSamples;
import junit.framework.TestCase;
public final class TestStylesTable extends TestCase {
- private File xml;
-
- protected void setUp() {
- xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "Formatting.xlsx"
- );
- assertTrue(xml.exists());
- }
+ private String testFile = "Formatting.xlsx";
public void testCreateNew() {
StylesTable st = new StylesTable();
@@ -64,7 +54,7 @@ public final class TestStylesTable extends TestCase {
}
public void testLoadExisting() throws Exception {
- XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
+ XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook(testFile);
assertNotNull(workbook.getStylesSource());
StylesTable st = workbook.getStylesSource();
@@ -72,7 +62,7 @@ public final class TestStylesTable extends TestCase {
doTestExisting(st);
}
public void testLoadSaveLoad() throws Exception {
- XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
+ XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook(testFile);
assertNotNull(workbook.getStylesSource());
StylesTable st = workbook.getStylesSource();
@@ -136,7 +126,7 @@ public final class TestStylesTable extends TestCase {
}
public void testPopulateExisting() throws Exception {
- XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
+ XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook(testFile);
assertNotNull(workbook.getStylesSource());
StylesTable st = workbook.getStylesSource();
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFHyperlink.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFHyperlink.java
index 0a7b08347e..e6d6e97952 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFHyperlink.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFHyperlink.java
@@ -39,13 +39,7 @@ public final class TestXSSFHyperlink extends BaseTestHyperlink {
}
public void testLoadExisting() throws Exception {
- File xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "WithMoreVariousData.xlsx"
- );
- assertTrue(xml.exists());
-
- XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
+ XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("WithMoreVariousData.xlsx");
assertEquals(3, workbook.getNumberOfSheets());
XSSFSheet sheet = workbook.getSheetAt(0);
@@ -56,13 +50,7 @@ public final class TestXSSFHyperlink extends BaseTestHyperlink {
}
public void testLoadSave() throws Exception {
- File xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "WithMoreVariousData.xlsx"
- );
- assertTrue(xml.exists());
-
- XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
+ XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("WithMoreVariousData.xlsx");
CreationHelper createHelper = workbook.getCreationHelper();
assertEquals(3, workbook.getNumberOfSheets());
XSSFSheet sheet = workbook.getSheetAt(0);
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
index bebfe30826..fa3d42d387 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
@@ -17,8 +17,6 @@
package org.apache.poi.xssf.usermodel;
-import java.io.File;
-
import org.apache.poi.ss.usermodel.BaseTestSheet;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Workbook;
@@ -54,13 +52,7 @@ public class TestXSSFSheet extends BaseTestSheet {
}
public void testExistingHeaderFooter() throws Exception {
- File xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "45540_classic_Header.xlsx"
- );
- assertTrue(xml.exists());
-
- XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
+ XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("45540_classic_Header.xlsx");
XSSFOddHeader hdr;
XSSFOddFooter ftr;
diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFDocument.java b/src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFDocument.java
index e31e42f753..f55e7f5081 100644
--- a/src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFDocument.java
+++ b/src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFDocument.java
@@ -29,27 +29,10 @@ import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFRelation;
public final class TestXWPFDocument extends TestCase {
- private File sampleFile;
- private File complexFile;
-
- protected void setUp() throws Exception {
- super.setUp();
-
- sampleFile = new File(
- System.getProperty("HWPF.testdata.path") +
- File.separator + "sample.docx"
- );
- complexFile = new File(
- System.getProperty("HWPF.testdata.path") +
- File.separator + "IllustrativeCases.docx"
- );
-
- assertTrue(sampleFile.exists());
- assertTrue(complexFile.exists());
- }
public void testContainsMainContentType() throws Exception {
- OPCPackage pack = POIXMLDocument.openPackage(sampleFile.toString());
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("sample.docx");
+ OPCPackage pack = doc.getPackage();
boolean found = false;
for(PackagePart part : pack.getParts()) {
@@ -62,40 +45,24 @@ public final class TestXWPFDocument extends TestCase {
}
public void testOpen() throws Exception {
- POIXMLDocument.openPackage(sampleFile.toString());
- POIXMLDocument.openPackage(complexFile.toString());
-
- new XWPFDocument(
- POIXMLDocument.openPackage(sampleFile.toString())
- );
- new XWPFDocument(
- POIXMLDocument.openPackage(complexFile.toString())
- );
-
XWPFDocument xml;
// Simple file
- xml = new XWPFDocument(
- POIXMLDocument.openPackage(sampleFile.toString())
- );
+ xml = XWPFTestDataSamples.openSampleDocument("sample.docx");
// Check it has key parts
assertNotNull(xml.getDocument());
assertNotNull(xml.getDocument().getBody());
assertNotNull(xml.getStyle());
// Complex file
- xml = new XWPFDocument(
- POIXMLDocument.openPackage(complexFile.toString())
- );
+ xml = XWPFTestDataSamples.openSampleDocument("IllustrativeCases.docx");
assertNotNull(xml.getDocument());
assertNotNull(xml.getDocument().getBody());
assertNotNull(xml.getStyle());
}
public void testMetadataBasics() throws Exception {
- XWPFDocument xml = new XWPFDocument(
- POIXMLDocument.openPackage(sampleFile.toString())
- );
+ XWPFDocument xml = XWPFTestDataSamples.openSampleDocument("sample.docx");
assertNotNull(xml.getProperties().getCoreProperties());
assertNotNull(xml.getProperties().getExtendedProperties());
@@ -108,9 +75,7 @@ public final class TestXWPFDocument extends TestCase {
}
public void testMetadataComplex() throws Exception {
- XWPFDocument xml = new XWPFDocument(
- POIXMLDocument.openPackage(complexFile.toString())
- );
+ XWPFDocument xml = XWPFTestDataSamples.openSampleDocument("IllustrativeCases.docx");
assertNotNull(xml.getProperties().getCoreProperties());
assertNotNull(xml.getProperties().getExtendedProperties());
diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/XWPFTestDataSamples.java b/src/ooxml/testcases/org/apache/poi/xwpf/XWPFTestDataSamples.java
new file mode 100755
index 0000000000..3255d62f10
--- /dev/null
+++ b/src/ooxml/testcases/org/apache/poi/xwpf/XWPFTestDataSamples.java
@@ -0,0 +1,54 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+package org.apache.poi.xwpf;
+
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
+import org.apache.poi.POIDataSamples;
+
+import java.io.*;
+
+/**
+ * @author Yegor Kozlov
+ */
+public class XWPFTestDataSamples {
+
+ public static XWPFDocument openSampleDocument(String sampleName) {
+ InputStream is = HWPFTestDataSamples.openSampleFileStream(sampleName);
+ try {
+ return new XWPFDocument(is);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static XWPFDocument writeOutAndReadBack(XWPFDocument doc) {
+ try {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(4096);
+ doc.write(baos);
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ return new XWPFDocument(bais);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static POIDataSamples getInstance(){
+ return HWPFTestDataSamples.getInstance();
+ }
+
+}
diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestXWPFWordExtractor.java b/src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestXWPFWordExtractor.java
index fe80baff10..cffdaec9ab 100644
--- a/src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestXWPFWordExtractor.java
+++ b/src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestXWPFWordExtractor.java
@@ -21,6 +21,7 @@ import java.io.IOException;
import org.apache.poi.POIXMLDocument;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
+import org.apache.poi.xwpf.XWPFTestDataSamples;
import junit.framework.TestCase;
@@ -33,7 +34,7 @@ public class TestXWPFWordExtractor extends TestCase {
* Get text out of the simple file
*/
public void testGetSimpleText() throws Exception {
- XWPFDocument doc = open("sample.docx");
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("sample.docx");
XWPFWordExtractor extractor = new XWPFWordExtractor(doc);
String text = extractor.getText();
@@ -62,7 +63,7 @@ public class TestXWPFWordExtractor extends TestCase {
* Tests getting the text out of a complex file
*/
public void testGetComplexText() throws Exception {
- XWPFDocument doc = open("IllustrativeCases.docx");
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("IllustrativeCases.docx");
XWPFWordExtractor extractor = new XWPFWordExtractor(doc);
String text = extractor.getText();
@@ -94,7 +95,7 @@ public class TestXWPFWordExtractor extends TestCase {
}
public void testGetWithHyperlinks() throws Exception {
- XWPFDocument doc = open("TestDocument.docx");
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("TestDocument.docx");
XWPFWordExtractor extractor = new XWPFWordExtractor(doc);
// Now check contents
@@ -119,7 +120,7 @@ public class TestXWPFWordExtractor extends TestCase {
}
public void testHeadersFooters() throws Exception {
- XWPFDocument doc = open("ThreeColHeadFoot.docx");
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("ThreeColHeadFoot.docx");
XWPFWordExtractor extractor = new XWPFWordExtractor(doc);
assertEquals(
@@ -138,7 +139,7 @@ public class TestXWPFWordExtractor extends TestCase {
// Now another file, expect multiple headers
// and multiple footers
- doc = open("DiffFirstPageHeadFoot.docx");
+ doc = XWPFTestDataSamples.openSampleDocument("DiffFirstPageHeadFoot.docx");
extractor = new XWPFWordExtractor(doc);
extractor =
new XWPFWordExtractor(doc);
@@ -162,7 +163,7 @@ public class TestXWPFWordExtractor extends TestCase {
}
public void testFootnotes() throws Exception {
- XWPFDocument doc = open("footnotes.docx");
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("footnotes.docx");
XWPFWordExtractor extractor = new XWPFWordExtractor(doc);
assertTrue(extractor.getText().contains("snoska"));
@@ -170,14 +171,14 @@ public class TestXWPFWordExtractor extends TestCase {
public void testTableFootnotes() throws Exception {
- XWPFDocument doc = open("table_footnotes.docx");
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("table_footnotes.docx");
XWPFWordExtractor extractor = new XWPFWordExtractor(doc);
assertTrue(extractor.getText().contains("snoska"));
}
public void testFormFootnotes() throws Exception {
- XWPFDocument doc = open("form_footnotes.docx");
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("form_footnotes.docx");
XWPFWordExtractor extractor = new XWPFWordExtractor(doc);
String text = extractor.getText();
@@ -186,33 +187,18 @@ public class TestXWPFWordExtractor extends TestCase {
}
public void testEndnotes() throws Exception {
- XWPFDocument doc = open("endnotes.docx");
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("endnotes.docx");
XWPFWordExtractor extractor = new XWPFWordExtractor(doc);
assertTrue(extractor.getText().contains("XXX"));
}
public void testInsertedDeletedText() throws Exception {
- XWPFDocument doc = open("delins.docx");
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("delins.docx");
XWPFWordExtractor extractor = new XWPFWordExtractor(doc);
assertTrue(extractor.getText().contains("pendant worn"));
assertTrue(extractor.getText().contains("extremely well"));
}
- //TODO use the same logic for opening test files as in HSSFTestDataSamples
- private XWPFDocument open(String sampleFileName) throws IOException {
- File file = new File(
- System.getProperty("HWPF.testdata.path"), sampleFileName);
-
- try {
- if(!sampleFileName.equals(file.getCanonicalFile().getName())){
- throw new RuntimeException("File name is case-sensitive: requested '" + sampleFileName
- + "' but actual file is '" + file.getCanonicalFile().getName() + "'");
- }
- } catch (IOException e){
- throw new RuntimeException(e);
- }
- return new XWPFDocument(POIXMLDocument.openPackage(file.getPath()));
- }
}
diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/model/TestXWPFHeaderFooterPolicy.java b/src/ooxml/testcases/org/apache/poi/xwpf/model/TestXWPFHeaderFooterPolicy.java
index ef5d5868a0..13c04b0193 100644
--- a/src/ooxml/testcases/org/apache/poi/xwpf/model/TestXWPFHeaderFooterPolicy.java
+++ b/src/ooxml/testcases/org/apache/poi/xwpf/model/TestXWPFHeaderFooterPolicy.java
@@ -20,6 +20,7 @@ import java.io.File;
import org.apache.poi.POIXMLDocument;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
+import org.apache.poi.xwpf.XWPFTestDataSamples;
import junit.framework.TestCase;
@@ -36,49 +37,13 @@ public class TestXWPFHeaderFooterPolicy extends TestCase {
protected void setUp() throws Exception {
super.setUp();
- File file;
- file = new File(
- System.getProperty("HWPF.testdata.path") +
- File.separator + "NoHeadFoot.docx"
- );
- assertTrue(file.exists());
- noHeader = new XWPFDocument(POIXMLDocument.openPackage(file.toString()));
-
- file = new File(
- System.getProperty("HWPF.testdata.path") +
- File.separator + "ThreeColHead.docx"
- );
- assertTrue(file.exists());
- header = new XWPFDocument(POIXMLDocument.openPackage(file.toString()));
-
- file = new File(
- System.getProperty("HWPF.testdata.path") +
- File.separator + "SimpleHeadThreeColFoot.docx"
- );
- assertTrue(file.exists());
- headerFooter = new XWPFDocument(POIXMLDocument.openPackage(file.toString()));
-
- file = new File(
- System.getProperty("HWPF.testdata.path") +
- File.separator + "FancyFoot.docx"
- );
- assertTrue(file.exists());
- footer = new XWPFDocument(POIXMLDocument.openPackage(file.toString()));
-
- file = new File(
- System.getProperty("HWPF.testdata.path") +
- File.separator + "PageSpecificHeadFoot.docx"
- );
- assertTrue(file.exists());
- oddEven = new XWPFDocument(POIXMLDocument.openPackage(file.toString()));
-
- file = new File(
- System.getProperty("HWPF.testdata.path") +
- File.separator + "DiffFirstPageHeadFoot.docx"
- );
- assertTrue(file.exists());
- diffFirst = new XWPFDocument(POIXMLDocument.openPackage(file.toString()));
+ noHeader = XWPFTestDataSamples.openSampleDocument("NoHeadFoot.docx");
+ header = XWPFTestDataSamples.openSampleDocument("ThreeColHead.docx");
+ headerFooter = XWPFTestDataSamples.openSampleDocument("SimpleHeadThreeColFoot.docx");
+ footer = XWPFTestDataSamples.openSampleDocument("FancyFoot.docx");
+ oddEven = XWPFTestDataSamples.openSampleDocument("PageSpecificHeadFoot.docx");
+ diffFirst = XWPFTestDataSamples.openSampleDocument("DiffFirstPageHeadFoot.docx");
}
public void testPolicy() {
diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeader.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeader.java
index 84a655ed65..a893ab1183 100644
--- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeader.java
+++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeader.java
@@ -23,6 +23,7 @@ import junit.framework.TestCase;
import org.apache.poi.POIXMLDocument;
import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy;
+import org.apache.poi.xwpf.XWPFTestDataSamples;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHdrFtr;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTR;
@@ -31,16 +32,8 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTText;
public class TestXWPFHeader extends TestCase {
public void testSimpleHeader() throws IOException {
- File sampleFile = new File(
- System.getProperty("HWPF.testdata.path") +
- File.separator + "headerFooter.docx"
- );
- assertTrue(sampleFile.exists());
- XWPFDocument sampleDoc;
- sampleDoc = new XWPFDocument(
- POIXMLDocument.openPackage(sampleFile.toString())
- );
-
+ XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("headerFooter.docx");
+
XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
@@ -55,15 +48,7 @@ public class TestXWPFHeader extends TestCase {
}
public void testSetHeader() throws IOException {
- File sampleFile = new File(
- System.getProperty("HWPF.testdata.path") +
- File.separator + "SampleDoc.docx"
- );
- assertTrue(sampleFile.exists());
- XWPFDocument sampleDoc;
- sampleDoc = new XWPFDocument(
- POIXMLDocument.openPackage(sampleFile.toString())
- );
+ XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("SampleDoc.docx");
// no header is set (yet)
XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
assertNull(policy.getDefaultHeader());
diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java
index f02135afac..12405fb4a7 100644
--- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java
+++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java
@@ -22,6 +22,7 @@ import java.math.BigInteger;
import junit.framework.TestCase;
import org.apache.poi.POIXMLDocument;
+import org.apache.poi.xwpf.XWPFTestDataSamples;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBorder;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTInd;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTJc;
@@ -41,26 +42,13 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTextAlignment;
* Tests for XWPF Paragraphs
*/
public final class TestXWPFParagraph extends TestCase {
- /**
- * A simple file
- */
- private XWPFDocument xml;
-
- protected void setUp() throws Exception {
- super.setUp();
-
- File file = new File(
- System.getProperty("HWPF.testdata.path") +
- File.separator + "ThreeColHead.docx"
- );
- assertTrue(file.exists());
- xml = new XWPFDocument(POIXMLDocument.openPackage(file.toString()));
- }
/**
* Check that we get the right paragraph from the header
*/
public void disabled_testHeaderParagraph() {
+ XWPFDocument xml = XWPFTestDataSamples.openSampleDocument("ThreeColHead.docx");
+
XWPFHeader hdr = xml.getHeaderFooterPolicy().getDefaultHeader();
assertNotNull(hdr);
@@ -77,6 +65,7 @@ public final class TestXWPFParagraph extends TestCase {
* Check that we get the right paragraphs from the document
*/
public void disabled_testDocumentParagraph() {
+ XWPFDocument xml = XWPFTestDataSamples.openSampleDocument("ThreeColHead.docx");
XWPFParagraph[] ps = xml.getParagraphs();
assertEquals(10, ps.length);
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/HWPFDocFixture.java b/src/scratchpad/testcases/org/apache/poi/hwpf/HWPFDocFixture.java
index c0dc9d41b5..2eb46a4291 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/HWPFDocFixture.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/HWPFDocFixture.java
@@ -41,17 +41,8 @@ public final class HWPFDocFixture
{
try
{
- String filename = System.getProperty("HWPF.testdata.path");
- if (filename == null)
- {
- filename = "c:";
- }
-
- filename = filename + "/test.doc";
-
-
- POIFSFileSystem filesystem = new POIFSFileSystem(new FileInputStream(
- new File(filename)));
+ POIFSFileSystem filesystem = new POIFSFileSystem(
+ HWPFTestDataSamples.openSampleFileStream("test.doc"));
DocumentEntry documentProps =
(DocumentEntry) filesystem.getRoot().getEntry("WordDocument");
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/HWPFTestDataSamples.java b/src/scratchpad/testcases/org/apache/poi/hwpf/HWPFTestDataSamples.java
new file mode 100755
index 0000000000..0b6f529e98
--- /dev/null
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/HWPFTestDataSamples.java
@@ -0,0 +1,65 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+package org.apache.poi.hwpf;
+
+import org.apache.poi.POIDataSamples;
+
+import java.io.*;
+
+public class HWPFTestDataSamples extends POIDataSamples {
+
+ private static final HWPFTestDataSamples _inst = new HWPFTestDataSamples("HWPF.testdata.path", "SampleDoc.doc");
+
+
+ private HWPFTestDataSamples(String dir, String classPathTestFile){
+ super(dir, classPathTestFile);
+ }
+
+ public static POIDataSamples getInstance(){
+ return _inst;
+ }
+
+ public static InputStream openSampleFileStream(String sampleFileName) {
+ return _inst.openResourceAsStream(sampleFileName);
+ }
+ public static byte[] getTestDataFileContent(String fileName) {
+ return _inst.readFile(fileName);
+ }
+
+ public static HWPFDocument openSampleFile(String sampleFileName) {
+ try {
+ return new HWPFDocument(_inst.openResourceAsStream(sampleFileName));
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ /**
+ * Writes a spreadsheet to a <tt>ByteArrayOutputStream</tt> and reads it back
+ * from a <tt>ByteArrayInputStream</tt>.<p/>
+ * Useful for verifying that the serialisation round trip
+ */
+ public static HWPFDocument writeOutAndReadBack(HWPFDocument original) {
+ try {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(4096);
+ original.write(baos);
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ return new HWPFDocument(bais);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFPictures.java b/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFPictures.java
index 0819d58fa5..4cb88ae30b 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFPictures.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFPictures.java
@@ -17,9 +17,6 @@
package org.apache.poi.hwpf;
-import java.io.ByteArrayOutputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
import java.util.List;
import junit.framework.TestCase;
@@ -43,33 +40,32 @@ public final class TestHWPFPictures extends TestCase {
private String imgDFile;
protected void setUp() {
- String dirname = System.getProperty("HWPF.testdata.path");
- docAFile = dirname + "/testPictures.doc";
- docBFile = dirname + "/two_images.doc";
- docCFile = dirname + "/vector_image.doc";
- docDFile = dirname + "/GaiaTest.doc";
+ docAFile = "testPictures.doc";
+ docBFile = "two_images.doc";
+ docCFile = "vector_image.doc";
+ docDFile = "GaiaTest.doc";
- imgAFile = dirname + "/simple_image.jpg";
- imgBFile = dirname + "/simple_image.png";
- imgCFile = dirname + "/vector_image.emf";
- imgDFile = dirname + "/GaiaTestImg.png";
+ imgAFile = "simple_image.jpg";
+ imgBFile = "simple_image.png";
+ imgCFile = "vector_image.emf";
+ imgDFile = "GaiaTestImg.png";
}
/**
* Test just opening the files
*/
public void testOpen() throws Exception {
- HWPFDocument docA = new HWPFDocument(new FileInputStream(docAFile));
- HWPFDocument docB = new HWPFDocument(new FileInputStream(docBFile));
+ HWPFDocument docA = HWPFTestDataSamples.openSampleFile(docAFile);
+ HWPFDocument docB = HWPFTestDataSamples.openSampleFile(docBFile);
}
/**
* Test that we have the right numbers of images in each file
*/
public void testImageCount() throws Exception {
- HWPFDocument docA = new HWPFDocument(new FileInputStream(docAFile));
- HWPFDocument docB = new HWPFDocument(new FileInputStream(docBFile));
+ HWPFDocument docA = HWPFTestDataSamples.openSampleFile(docAFile);
+ HWPFDocument docB = HWPFTestDataSamples.openSampleFile(docBFile);
assertNotNull(docA.getPicturesTable());
assertNotNull(docB.getPicturesTable());
@@ -88,7 +84,7 @@ public final class TestHWPFPictures extends TestCase {
* Test that we have the right images in at least one file
*/
public void testImageData() throws Exception {
- HWPFDocument docB = new HWPFDocument(new FileInputStream(docBFile));
+ HWPFDocument docB = HWPFTestDataSamples.openSampleFile(docBFile);
PicturesTable picB = docB.getPicturesTable();
List picturesB = picB.getAllPictures();
@@ -115,7 +111,7 @@ public final class TestHWPFPictures extends TestCase {
* Test that compressed image data is correctly returned.
*/
public void testCompressedImageData() throws Exception {
- HWPFDocument docC = new HWPFDocument(new FileInputStream(docCFile));
+ HWPFDocument docC = HWPFTestDataSamples.openSampleFile(docCFile);
PicturesTable picC = docC.getPicturesTable();
List picturesC = picC.getAllPictures();
@@ -136,7 +132,7 @@ public final class TestHWPFPictures extends TestCase {
* bug #44937
*/
public void BROKENtestEscherDrawing() throws Exception {
- HWPFDocument docD = new HWPFDocument(new FileInputStream(docDFile));
+ HWPFDocument docD = HWPFTestDataSamples.openSampleFile(docDFile);
List allPictures = docD.getPicturesTable().getAllPictures();
assertEquals(1, allPictures.size());
@@ -158,23 +154,6 @@ public final class TestHWPFPictures extends TestCase {
}
private static byte[] readFile(String file) {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- try {
- FileInputStream fis = new FileInputStream(file);
- byte[] buffer = new byte[1024];
-
- int read = 0;
- while(read > -1) {
- read = fis.read(buffer);
- if(read > 0) {
- baos.write(buffer,0,read);
- }
- }
- fis.close();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
-
- return baos.toByteArray();
+ return HWPFTestDataSamples.getTestDataFileContent(file);
}
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFRangeParts.java b/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFRangeParts.java
index bda9465301..6aee79605b 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFRangeParts.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFRangeParts.java
@@ -17,8 +17,6 @@
package org.apache.poi.hwpf;
-import java.io.FileInputStream;
-
import org.apache.poi.hwpf.usermodel.Range;
import junit.framework.TestCase;
@@ -96,17 +94,8 @@ public final class TestHWPFRangeParts extends TestCase {
private HWPFDocument docUnicode;
public void setUp() throws Exception {
- String dirname = System.getProperty("HWPF.testdata.path");
-
- String filename = dirname + "/HeaderFooterUnicode.doc";
- docUnicode = new HWPFDocument(
- new FileInputStream(filename)
- );
-
- filename = dirname + "/ThreeColHeadFoot.doc";
- docAscii = new HWPFDocument(
- new FileInputStream(filename)
- );
+ docUnicode = HWPFTestDataSamples.openSampleFile("HeaderFooterUnicode.doc");
+ docAscii = HWPFTestDataSamples.openSampleFile("ThreeColHeadFoot.doc");
}
public void testBasics() {
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestDifferentRoutes.java b/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestDifferentRoutes.java
index 685ce949bb..559d95aacf 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestDifferentRoutes.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestDifferentRoutes.java
@@ -17,10 +17,10 @@
package org.apache.poi.hwpf.extractor;
-import java.io.FileInputStream;
import java.util.Iterator;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
import org.apache.poi.hwpf.model.TextPiece;
import org.apache.poi.hwpf.usermodel.Paragraph;
import org.apache.poi.hwpf.usermodel.Range;
@@ -53,10 +53,7 @@ public final class TestDifferentRoutes extends TestCase {
private HWPFDocument doc;
protected void setUp() throws Exception {
- String dirname = System.getProperty("HWPF.testdata.path");
-
- String filename = dirname + "/test2.doc";
- doc = new HWPFDocument(new FileInputStream(filename));
+ doc = HWPFTestDataSamples.openSampleFile("test2.doc");
}
/**
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractor.java b/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractor.java
index a945540a0a..9d32badaf2 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractor.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractor.java
@@ -17,14 +17,15 @@
package org.apache.poi.hwpf.extractor;
-import java.io.FileInputStream;
-
import junit.framework.TestCase;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
import org.apache.poi.poifs.filesystem.DirectoryNode;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
+import java.io.FileInputStream;
+
/**
* Test the different routes to extracting text
*
@@ -47,7 +48,7 @@ public final class TestWordExtractor extends TestCase {
"\r\n",
"It is otherwise very very boring.\r\n"
};
- private String p_text1_block = new String();
+ private String p_text1_block = "";
// Well behaved document
private WordExtractor extractor;
@@ -64,18 +65,17 @@ public final class TestWordExtractor extends TestCase {
private String filename6;
protected void setUp() throws Exception {
- String dirname = System.getProperty("HWPF.testdata.path");
String pdirname = System.getProperty("POIFS.testdata.path");
- String filename = dirname + "/test2.doc";
- String filename2 = dirname + "/test.doc";
+ String filename = "test2.doc";
+ String filename2 = "test.doc";
filename3 = pdirname + "/excel_with_embeded.xls";
- filename4 = dirname + "/ThreeColHeadFoot.doc";
- filename5 = dirname + "/HeaderFooterUnicode.doc";
- filename6 = dirname + "/footnote.doc";
+ filename4 = "ThreeColHeadFoot.doc";
+ filename5 = "HeaderFooterUnicode.doc";
+ filename6 = "footnote.doc";
- extractor = new WordExtractor(new FileInputStream(filename));
- extractor2 = new WordExtractor(new FileInputStream(filename2));
+ extractor = new WordExtractor(HWPFTestDataSamples.openSampleFileStream(filename));
+ extractor2 = new WordExtractor(HWPFTestDataSamples.openSampleFileStream(filename2));
// Build splat'd out text version
for(int i=0; i<p_text1.length; i++) {
@@ -123,7 +123,8 @@ public final class TestWordExtractor extends TestCase {
* @throws Exception
*/
public void testExtractFromEmbeded() throws Exception {
- POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filename3));
+ POIFSFileSystem fs = new POIFSFileSystem(
+ new FileInputStream(filename3));
HWPFDocument doc;
WordExtractor extractor3;
@@ -164,9 +165,7 @@ public final class TestWordExtractor extends TestCase {
public void testWithHeader() throws Exception {
// Non-unicode
- HWPFDocument doc = new HWPFDocument(
- new FileInputStream(filename4)
- );
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile(filename4);
extractor = new WordExtractor(doc);
assertEquals(
@@ -181,9 +180,7 @@ public final class TestWordExtractor extends TestCase {
// Unicode
- doc = new HWPFDocument(
- new FileInputStream(filename5)
- );
+ doc = HWPFTestDataSamples.openSampleFile(filename5);
extractor = new WordExtractor(doc);
assertEquals(
@@ -198,9 +195,7 @@ public final class TestWordExtractor extends TestCase {
public void testWithFooter() throws Exception {
// Non-unicode
- HWPFDocument doc = new HWPFDocument(
- new FileInputStream(filename4)
- );
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile(filename4);
extractor = new WordExtractor(doc);
assertEquals(
@@ -215,9 +210,7 @@ public final class TestWordExtractor extends TestCase {
// Unicode
- doc = new HWPFDocument(
- new FileInputStream(filename5)
- );
+ doc = HWPFTestDataSamples.openSampleFile(filename5);
extractor = new WordExtractor(doc);
assertEquals(
@@ -231,9 +224,7 @@ public final class TestWordExtractor extends TestCase {
}
public void testFootnote() throws Exception {
- HWPFDocument doc = new HWPFDocument(
- new FileInputStream(filename6)
- );
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile(filename6);
extractor = new WordExtractor(doc);
String[] text = extractor.getFootnoteText();
@@ -246,9 +237,7 @@ public final class TestWordExtractor extends TestCase {
}
public void testEndnote() throws Exception {
- HWPFDocument doc = new HWPFDocument(
- new FileInputStream(filename6)
- );
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile(filename6);
extractor = new WordExtractor(doc);
String[] text = extractor.getEndnoteText();
@@ -261,9 +250,7 @@ public final class TestWordExtractor extends TestCase {
}
public void testComments() throws Exception {
- HWPFDocument doc = new HWPFDocument(
- new FileInputStream(filename6)
- );
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile(filename6);
extractor = new WordExtractor(doc);
String[] text = extractor.getCommentsText();
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractorBugs.java b/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractorBugs.java
index 6cae52ccd3..f657dc4858 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractorBugs.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractorBugs.java
@@ -20,6 +20,7 @@ package org.apache.poi.hwpf.extractor;
import java.io.FileInputStream;
import junit.framework.TestCase;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
/**
* Tests for bugs with the WordExtractor
@@ -27,15 +28,10 @@ import junit.framework.TestCase;
* @author Nick Burch (nick at torchbox dot com)
*/
public final class TestWordExtractorBugs extends TestCase {
- private String dirname;
- protected void setUp() {
- dirname = System.getProperty("HWPF.testdata.path");
- }
public void testProblemMetadata() throws Exception {
- String filename = dirname + "/ProblemExtracting.doc";
WordExtractor extractor =
- new WordExtractor(new FileInputStream(filename));
+ new WordExtractor(HWPFTestDataSamples.openSampleFileStream("ProblemExtracting.doc"));
// Check it gives text without error
extractor.getText();
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestSavedByTable.java b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestSavedByTable.java
index bc36e0d40c..57ad140c6f 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestSavedByTable.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestSavedByTable.java
@@ -24,6 +24,7 @@ import java.util.List;
import junit.framework.TestCase;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
/**
* Unit test for {@link SavedByTable} and {@link SavedByEntry}.
@@ -33,8 +34,6 @@ import org.apache.poi.hwpf.HWPFDocument;
public final class TestSavedByTable
extends TestCase
{
- /** Data dir */
- private File testFile = new File(new File(System.getProperty("HWPF.testdata.path")), "saved-by-table.doc");
/** The expected entries in the test document. */
private List expected = Arrays.asList(new Object[] {
@@ -62,16 +61,7 @@ public final class TestSavedByTable
// This document is widely available on the internet as "blair.doc".
// I tried stripping the content and saving the document but my version
// of Word (from Office XP) strips this table out.
- InputStream stream = new BufferedInputStream(new FileInputStream(testFile));
- HWPFDocument doc;
- try
- {
- doc = new HWPFDocument(stream);
- }
- finally
- {
- stream.close();
- }
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("saved-by-table.doc");
// Check what we just read.
assertEquals("List of saved-by entries was not as expected",
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestTextPieceTable.java b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestTextPieceTable.java
index c1d77be2a7..09df7498d3 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestTextPieceTable.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestTextPieceTable.java
@@ -19,19 +19,18 @@ package org.apache.poi.hwpf.model;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
import junit.framework.TestCase;
import org.apache.poi.hwpf.HWPFDocFixture;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
import org.apache.poi.hwpf.model.io.HWPFFileSystem;
public final class TestTextPieceTable extends TestCase {
private HWPFDocFixture _hWPFDocFixture;
- private String dirname;
+ //private String dirname;
public void testReadWrite()
throws Exception
@@ -66,9 +65,7 @@ public final class TestTextPieceTable extends TestCase {
* working with pure-ascii
*/
public void testAsciiParts() throws Exception {
- HWPFDocument doc = new HWPFDocument(
- new FileInputStream(new File(dirname, "ThreeColHeadFoot.doc"))
- );
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("ThreeColHeadFoot.doc");
TextPieceTable tbl = doc.getTextTable();
// All ascii, so stored in one big lump
@@ -101,9 +98,7 @@ public final class TestTextPieceTable extends TestCase {
* working with a mix ascii, unicode file
*/
public void testUnicodeParts() throws Exception {
- HWPFDocument doc = new HWPFDocument(
- new FileInputStream(new File(dirname, "HeaderFooterUnicode.doc"))
- );
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("HeaderFooterUnicode.doc");
TextPieceTable tbl = doc.getTextTable();
// In three bits, split every 512 bytes
@@ -177,8 +172,6 @@ public final class TestTextPieceTable extends TestCase {
_hWPFDocFixture = new HWPFDocFixture(this);
_hWPFDocFixture.setUp();
-
- dirname = System.getProperty("HWPF.testdata.path");
}
protected void tearDown()
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug46610.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug46610.java
index 779847e27e..e4c09463ab 100755
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug46610.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug46610.java
@@ -19,34 +19,28 @@ package org.apache.poi.hwpf.usermodel;
import junit.framework.TestCase;
-import java.io.FileInputStream;
-
import org.apache.poi.hwpf.usermodel.CharacterRun;
import org.apache.poi.hwpf.usermodel.Paragraph;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
public class TestBug46610 extends TestCase {
- private String dirname;
-
- protected void setUp() {
- dirname = System.getProperty("HWPF.testdata.path");
- }
public void testUtf() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/Bug46610_1.doc"));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("Bug46610_1.doc");
runExtract(doc);
}
public void testUtf2() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/Bug46610_2.doc"));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("Bug46610_2.doc");
runExtract(doc);
}
public void testExtraction() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/Bug46610_3.doc"));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("Bug46610_3.doc");
String text = runExtract(doc);
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestHeaderStories.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestHeaderStories.java
index 13913eab04..b4d9a7d620 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestHeaderStories.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestHeaderStories.java
@@ -17,12 +17,10 @@
package org.apache.poi.hwpf.usermodel;
-import java.io.File;
-import java.io.FileInputStream;
-
import junit.framework.TestCase;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
/**
* Tests for the handling of header stories into headers, footers etc
@@ -38,21 +36,15 @@ public final class TestHeaderStories extends TestCase {
private HWPFDocument withFields;
protected void setUp() throws Exception {
- String dirname = System.getProperty("HWPF.testdata.path");
-
- none = new HWPFDocument(new FileInputStream(new File(dirname, "NoHeadFoot.doc")));
- header = new HWPFDocument(new FileInputStream(new File(dirname, "ThreeColHead.doc")));
- footer = new HWPFDocument(new FileInputStream(new File(dirname, "ThreeColFoot.doc")));
- headerFooter = new HWPFDocument(new FileInputStream(new File(dirname,
- "SimpleHeadThreeColFoot.doc")));
- oddEven = new HWPFDocument(new FileInputStream(
- new File(dirname, "PageSpecificHeadFoot.doc")));
- diffFirst = new HWPFDocument(new FileInputStream(new File(dirname,
- "DiffFirstPageHeadFoot.doc")));
- unicode = new HWPFDocument(
- new FileInputStream(new File(dirname, "HeaderFooterUnicode.doc")));
- withFields = new HWPFDocument(
- new FileInputStream(new File(dirname, "HeaderWithMacros.doc")));
+
+ none = HWPFTestDataSamples.openSampleFile("NoHeadFoot.doc");
+ header = HWPFTestDataSamples.openSampleFile("ThreeColHead.doc");
+ footer = HWPFTestDataSamples.openSampleFile("ThreeColFoot.doc");
+ headerFooter = HWPFTestDataSamples.openSampleFile("SimpleHeadThreeColFoot.doc");
+ oddEven = HWPFTestDataSamples.openSampleFile("PageSpecificHeadFoot.doc");
+ diffFirst = HWPFTestDataSamples.openSampleFile("DiffFirstPageHeadFoot.doc");
+ unicode = HWPFTestDataSamples.openSampleFile("HeaderFooterUnicode.doc");
+ withFields = HWPFTestDataSamples.openSampleFile("HeaderWithMacros.doc");
}
public void testNone() {
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestPictures.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestPictures.java
index 0f2034de49..85580786db 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestPictures.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestPictures.java
@@ -17,14 +17,12 @@
package org.apache.poi.hwpf.usermodel;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
import java.util.List;
import junit.framework.TestCase;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
import org.apache.poi.util.LittleEndian;
/**
@@ -33,14 +31,12 @@ import org.apache.poi.util.LittleEndian;
* @author Nick Burch (nick at torchbox dot com)
*/
public final class TestPictures extends TestCase {
- private String dirname = System.getProperty("HWPF.testdata.path");
-
/**
* two jpegs
*/
public void testTwoImages() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/two_images.doc"));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("two_images.doc");
List pics = doc.getPicturesTable().getAllPictures();
assertNotNull(pics);
@@ -64,7 +60,7 @@ public final class TestPictures extends TestCase {
* pngs and jpegs
*/
public void testDifferentImages() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/testPictures.doc"));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("testPictures.doc");
List pics = doc.getPicturesTable().getAllPictures();
assertNotNull(pics);
@@ -90,7 +86,7 @@ public final class TestPictures extends TestCase {
* emf image, nice and simple
*/
public void testEmfImage() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/vector_image.doc"));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("vector_image.doc");
List pics = doc.getPicturesTable().getAllPictures();
assertNotNull(pics);
@@ -102,7 +98,7 @@ public final class TestPictures extends TestCase {
assertTrue(pic.getSize() > 128);
// Check right contents
- byte[] emf = loadImage("vector_image.emf");
+ byte[] emf = HWPFTestDataSamples.getTestDataFileContent("vector_image.emf");
byte[] pemf = pic.getContent();
assertEquals(emf.length, pemf.length);
for(int i=0; i<emf.length; i++) {
@@ -119,7 +115,7 @@ public final class TestPictures extends TestCase {
// pictures. Instead it has an office drawing object. Need to rewrite this test after
// revisiting the implementation of office drawing objects.
- HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/emf_2003_image.doc"));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("emf_2003_image.doc");
List pics = doc.getPicturesTable().getAllPictures();
assertNotNull(pics);
@@ -141,22 +137,10 @@ public final class TestPictures extends TestCase {
}
public void testPicturesWithTable() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(
- new File(dirname, "Bug44603.doc")));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("Bug44603.doc");
List pics = doc.getPicturesTable().getAllPictures();
assertEquals(pics.size(), 2);
}
- private byte[] loadImage(String filename) throws Exception {
- ByteArrayOutputStream b = new ByteArrayOutputStream();
- FileInputStream fis = new FileInputStream(dirname + "/" + filename);
-
- byte[] buf = new byte[4096];
- int read = 0;
- while( (read = fis.read(buf)) > -1 ) {
- b.write(buf, 0, read);
- }
- return b.toByteArray();
- }
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestProblems.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestProblems.java
index 54e9b42a0c..41dd238f55 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestProblems.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestProblems.java
@@ -17,12 +17,10 @@
package org.apache.poi.hwpf.usermodel;
-import java.io.File;
-import java.io.FileInputStream;
-
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.HWPFTestCase;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
import org.apache.poi.hwpf.model.StyleSheet;
/**
@@ -32,14 +30,11 @@ import org.apache.poi.hwpf.model.StyleSheet;
*/
public final class TestProblems extends HWPFTestCase {
- private String dirname = System.getProperty("HWPF.testdata.path");
-
/**
* ListEntry passed no ListTable
*/
public void testListEntryNoListTable() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(
- new File(dirname, "ListEntryNoListTable.doc")));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("ListEntryNoListTable.doc");
Range r = doc.getRange();
StyleSheet styleSheet = doc.getStyleSheet();
@@ -56,8 +51,7 @@ public final class TestProblems extends HWPFTestCase {
* AIOOB for TableSprmUncompressor.unCompressTAPOperation
*/
public void testSprmAIOOB() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(
- new File(dirname, "AIOOB-Tap.doc")));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("AIOOB-Tap.doc");
Range r = doc.getRange();
StyleSheet styleSheet = doc.getStyleSheet();
@@ -75,8 +69,7 @@ public final class TestProblems extends HWPFTestCase {
* Bugs #45062 and #44292
*/
public void testTableCellLastParagraph() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(
- new File(dirname, "Bug44292.doc")));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("Bug44292.doc");
Range r = doc.getRange();
assertEquals(6, r.numParagraphs());
assertEquals(0, r.getStartOffset());
@@ -115,8 +108,7 @@ public final class TestProblems extends HWPFTestCase {
}
public void testRangeDelete() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(
- new File(dirname, "Bug28627.doc")));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("Bug28627.doc");
Range range = doc.getRange();
int numParagraphs = range.numParagraphs();
@@ -155,8 +147,7 @@ public final class TestProblems extends HWPFTestCase {
*/
public void testEncryptedFile() throws Exception {
try {
- new HWPFDocument(new FileInputStream(
- new File(dirname, "PasswordProtected.doc")));
+ HWPFTestDataSamples.openSampleFile("PasswordProtected.doc");
fail();
} catch(EncryptedDocumentException e) {
// Good
@@ -164,8 +155,7 @@ public final class TestProblems extends HWPFTestCase {
}
public void testWriteProperties() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(
- new File(dirname, "SampleDoc.doc")));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("SampleDoc.doc");
assertEquals("Nick Burch", doc.getSummaryInformation().getAuthor());
// Write and read
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeDelete.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeDelete.java
index 5e08588a29..289f2b80fa 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeDelete.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeDelete.java
@@ -17,11 +17,10 @@
package org.apache.poi.hwpf.usermodel;
-import java.io.FileInputStream;
-
import junit.framework.TestCase;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
import org.apache.poi.hwpf.model.PAPX;
/**
@@ -48,10 +47,7 @@ public final class TestRangeDelete extends TestCase {
private String illustrativeDocFile;
protected void setUp() {
-
- String dirname = System.getProperty("HWPF.testdata.path");
-
- illustrativeDocFile = dirname + "/testRangeDelete.doc";
+ illustrativeDocFile = "testRangeDelete.doc";
}
/**
@@ -59,7 +55,7 @@ public final class TestRangeDelete extends TestCase {
*/
public void testOpen() throws Exception {
- HWPFDocument docA = new HWPFDocument(new FileInputStream(illustrativeDocFile));
+ HWPFDocument docA = HWPFTestDataSamples.openSampleFile(illustrativeDocFile);
}
/**
@@ -67,7 +63,7 @@ public final class TestRangeDelete extends TestCase {
*/
public void testDocStructure() throws Exception {
- HWPFDocument daDoc = new HWPFDocument(new FileInputStream(illustrativeDocFile));
+ HWPFDocument daDoc = HWPFTestDataSamples.openSampleFile(illustrativeDocFile);
Range range;
Section section;
Paragraph para;
@@ -132,7 +128,7 @@ public final class TestRangeDelete extends TestCase {
*/
public void testRangeDeleteOne() throws Exception {
- HWPFDocument daDoc = new HWPFDocument(new FileInputStream(illustrativeDocFile));
+ HWPFDocument daDoc = HWPFTestDataSamples.openSampleFile(illustrativeDocFile);
Range range = daDoc.getOverallRange();
assertEquals(1, range.numSections());
@@ -178,7 +174,7 @@ public final class TestRangeDelete extends TestCase {
*/
public void testRangeDeleteAll() throws Exception {
- HWPFDocument daDoc = new HWPFDocument(new FileInputStream(illustrativeDocFile));
+ HWPFDocument daDoc = HWPFTestDataSamples.openSampleFile(illustrativeDocFile);
Range range = daDoc.getRange();
assertEquals(1, range.numSections());
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeInsertion.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeInsertion.java
index cdae245ece..5b024daeff 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeInsertion.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeInsertion.java
@@ -17,11 +17,10 @@
package org.apache.poi.hwpf.usermodel;
-import java.io.FileInputStream;
-
import junit.framework.TestCase;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
/**
* Test to see if Range.insertBefore() works even if the Range contains a
@@ -40,10 +39,7 @@ public final class TestRangeInsertion extends TestCase {
private String illustrativeDocFile;
protected void setUp() {
-
- String dirname = System.getProperty("HWPF.testdata.path");
-
- illustrativeDocFile = dirname + "/testRangeInsertion.doc";
+ illustrativeDocFile = "testRangeInsertion.doc";
}
/**
@@ -51,7 +47,7 @@ public final class TestRangeInsertion extends TestCase {
*/
public void testOpen() throws Exception {
- HWPFDocument docA = new HWPFDocument(new FileInputStream(illustrativeDocFile));
+ HWPFDocument docA = HWPFTestDataSamples.openSampleFile(illustrativeDocFile);
}
/**
@@ -59,7 +55,7 @@ public final class TestRangeInsertion extends TestCase {
*/
public void testDocStructure() throws Exception {
- HWPFDocument daDoc = new HWPFDocument(new FileInputStream(illustrativeDocFile));
+ HWPFDocument daDoc = HWPFTestDataSamples.openSampleFile(illustrativeDocFile);
Range range = daDoc.getRange();
@@ -87,7 +83,7 @@ public final class TestRangeInsertion extends TestCase {
*/
public void testRangeInsertion() throws Exception {
- HWPFDocument daDoc = new HWPFDocument(new FileInputStream(illustrativeDocFile));
+ HWPFDocument daDoc = HWPFTestDataSamples.openSampleFile(illustrativeDocFile);
/*
Range range = daDoc.getRange();
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeProperties.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeProperties.java
index 96f1493bdf..315c033d06 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeProperties.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeProperties.java
@@ -17,11 +17,10 @@
package org.apache.poi.hwpf.usermodel;
-import java.io.File;
-import java.io.FileInputStream;
import java.util.List;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
import org.apache.poi.hwpf.model.PropertyNode;
import junit.framework.TestCase;
@@ -66,16 +65,9 @@ public final class TestRangeProperties extends TestCase {
private HWPFDocument u;
private HWPFDocument a;
- private String dirname;
-
protected void setUp() throws Exception {
- dirname = System.getProperty("HWPF.testdata.path");
- u = new HWPFDocument(
- new FileInputStream(new File(dirname, "HeaderFooterUnicode.doc"))
- );
- a = new HWPFDocument(
- new FileInputStream(new File(dirname, "SampleDoc.doc"))
- );
+ u = HWPFTestDataSamples.openSampleFile("HeaderFooterUnicode.doc");
+ a = HWPFTestDataSamples.openSampleFile("SampleDoc.doc");
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeReplacement.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeReplacement.java
index dc32b24a3d..23ca51cda5 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeReplacement.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeReplacement.java
@@ -17,11 +17,10 @@
package org.apache.poi.hwpf.usermodel;
-import java.io.FileInputStream;
-
import junit.framework.TestCase;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
/**
* Test to see if Range.replaceText() works even if the Range contains a
@@ -40,21 +39,14 @@ public final class TestRangeReplacement extends TestCase {
"It is used to confirm that text replacement works even if Unicode characters (such as \u201c\u2014\u201d (U+2014), \u201c\u2e8e\u201d (U+2E8E), or \u201c\u2714\u201d (U+2714)) are present. Everybody should be thankful to the Apache Software Foundation and all the POI contributors for their assistance in this matter.\r";
private String expectedText3 = "Thank you, Apache Software Foundation!\r";
- private String illustrativeDocFile;
-
- protected void setUp() {
-
- String dirname = System.getProperty("HWPF.testdata.path");
-
- illustrativeDocFile = dirname + "/testRangeReplacement.doc";
- }
+ private String illustrativeDocFile = "testRangeReplacement.doc";
/**
* Test just opening the files
*/
public void testOpen() throws Exception {
- HWPFDocument docA = new HWPFDocument(new FileInputStream(illustrativeDocFile));
+ HWPFDocument docA = HWPFTestDataSamples.openSampleFile(illustrativeDocFile);
}
/**
@@ -62,7 +54,7 @@ public final class TestRangeReplacement extends TestCase {
*/
public void testDocStructure() throws Exception {
- HWPFDocument daDoc = new HWPFDocument(new FileInputStream(illustrativeDocFile));
+ HWPFDocument daDoc = HWPFTestDataSamples.openSampleFile(illustrativeDocFile);
Range range = daDoc.getRange();
assertEquals(414, range.text().length());
@@ -91,7 +83,7 @@ public final class TestRangeReplacement extends TestCase {
*/
public void testRangeReplacementOne() throws Exception {
- HWPFDocument daDoc = new HWPFDocument(new FileInputStream(illustrativeDocFile));
+ HWPFDocument daDoc = HWPFTestDataSamples.openSampleFile(illustrativeDocFile);
Range range = daDoc.getRange();
assertEquals(1, range.numSections());
@@ -124,7 +116,7 @@ public final class TestRangeReplacement extends TestCase {
*/
public void testRangeReplacementAll() throws Exception {
- HWPFDocument daDoc = new HWPFDocument(new FileInputStream(illustrativeDocFile));
+ HWPFDocument daDoc = HWPFTestDataSamples.openSampleFile(illustrativeDocFile);
Range range = daDoc.getRange();
assertEquals(1, range.numSections());
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestShapes.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestShapes.java
index b237da0ca3..2a0e61554c 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestShapes.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestShapes.java
@@ -19,24 +19,23 @@ package org.apache.poi.hwpf.usermodel;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.FileInputStream;
import java.util.List;
import junit.framework.TestCase;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
/**
* Test the shapes handling
*/
public final class TestShapes extends TestCase {
- private String dirname = System.getProperty("HWPF.testdata.path");
/**
* two shapes, second is a group
*/
public void testShapes() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/WithArtShapes.doc"));
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("WithArtShapes.doc");
List shapes = doc.getShapesTable().getAllShapes();
List vshapes = doc.getShapesTable().getVisibleShapes();
diff --git a/src/testcases/org/apache/poi/POIDataSamples.java b/src/testcases/org/apache/poi/POIDataSamples.java
new file mode 100755
index 0000000000..b5f64dd998
--- /dev/null
+++ b/src/testcases/org/apache/poi/POIDataSamples.java
@@ -0,0 +1,182 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+package org.apache.poi;
+
+import java.io.*;
+
+/**
+ * Centralises logic for finding/opening sample files
+ *
+ */
+public abstract class POIDataSamples {
+
+ private File _resolvedDataDir;
+ /** <code>true</code> if standard system propery is not set,
+ * but the data is available on the test runtime classpath */
+ private boolean _sampleDataIsAvaliableOnClassPath;
+ private String _testDataDir;
+
+ /**
+ *
+ * @param dir the name of the system property that defines path to the test files
+ * @param classPathTestFile the name of the test file to check if resources are available from the classpath
+ */
+ public POIDataSamples(String dir, String classPathTestFile){
+ _testDataDir = dir;
+ initialise(classPathTestFile);
+ }
+
+ /**
+ * Opens a sample file from the test data directory
+ *
+ * @param sampleFileName the file to open
+ * @return an open <tt>InputStream</tt> for the specified sample file
+ */
+ public InputStream openResourceAsStream(String sampleFileName) {
+
+ if (_sampleDataIsAvaliableOnClassPath) {
+ InputStream result = sampleFileName == null ? null :
+ openClasspathResource(sampleFileName);
+ if(result == null) {
+ throw new RuntimeException("specified test sample file '" + sampleFileName
+ + "' not found on the classpath");
+ }
+ // wrap to avoid temp warning method about auto-closing input stream
+ return new NonSeekableInputStream(result);
+ }
+ if (_resolvedDataDir == null) {
+ throw new RuntimeException("Must set system property '"
+ + _testDataDir
+ + "' properly before running tests");
+ }
+
+ File f = new File(_resolvedDataDir, sampleFileName);
+ if (!f.exists()) {
+ throw new RuntimeException("Sample file '" + sampleFileName
+ + "' not found in data dir '" + _resolvedDataDir.getAbsolutePath() + "'");
+ }
+ try {
+ if(!sampleFileName.equals(f.getCanonicalFile().getName())){
+ throw new RuntimeException("File name is case-sensitive: requested '" + sampleFileName
+ + "' but actual file is '" + f.getCanonicalFile().getName() + "'");
+ }
+ } catch (IOException e){
+ throw new RuntimeException(e);
+ }
+
+ try {
+ return new FileInputStream(f);
+ } catch (FileNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ *
+ * @param classPathTest test file to check if the resources are avaiable from the classpath
+ */
+ private void initialise(String classPathTest) {
+ String dataDirName = System.getProperty(_testDataDir);
+ if (dataDirName == null) {
+ // check to see if we can just get the resources from the classpath
+ InputStream is = openClasspathResource(classPathTest);
+ if (is != null) {
+ try {
+ is.close(); // be nice
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ _sampleDataIsAvaliableOnClassPath = true;
+ return;
+ }
+
+ throw new RuntimeException("Must set system property '"
+ + _testDataDir + "' before running tests");
+ }
+ File dataDir = new File(dataDirName);
+ if (!dataDir.exists()) {
+ throw new RuntimeException("Data dir '" + dataDirName
+ + "' specified by system property '" + _testDataDir
+ + "' does not exist");
+ }
+ // convert to canonical file, to make any subsequent error messages
+ // clearer.
+ try {
+ _resolvedDataDir = dataDir.getCanonicalFile();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * Opens a test sample file from the 'data' sub-package of this class's package.
+ *
+ * @param sampleFileName the file to open
+ * @return <code>null</code> if the sample file is not deployed on the classpath.
+ */
+ private InputStream openClasspathResource(String sampleFileName) {
+ return getClass().getResourceAsStream("data/" + sampleFileName);
+ }
+
+ private static final class NonSeekableInputStream extends InputStream {
+
+ private final InputStream _is;
+
+ public NonSeekableInputStream(InputStream is) {
+ _is = is;
+ }
+
+ public int read() throws IOException {
+ return _is.read();
+ }
+ public int read(byte[] b, int off, int len) throws IOException {
+ return _is.read(b, off, len);
+ }
+ public boolean markSupported() {
+ return false;
+ }
+ public void close() throws IOException {
+ _is.close();
+ }
+ }
+
+ /**
+ * @param fileName the file to open
+ * @return byte array of sample file content from file found in standard hssf test data dir
+ */
+ public byte[] readFile(String fileName) {
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+
+ try {
+ InputStream fis = openResourceAsStream(fileName);
+
+ byte[] buf = new byte[512];
+ while (true) {
+ int bytesRead = fis.read(buf);
+ if (bytesRead < 1) {
+ break;
+ }
+ bos.write(buf, 0, bytesRead);
+ }
+ fis.close();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ return bos.toByteArray();
+ }
+
+}
diff --git a/src/testcases/org/apache/poi/hssf/HSSFTestDataSamples.java b/src/testcases/org/apache/poi/hssf/HSSFTestDataSamples.java
index 113329265f..4d0f3a72c5 100644
--- a/src/testcases/org/apache/poi/hssf/HSSFTestDataSamples.java
+++ b/src/testcases/org/apache/poi/hssf/HSSFTestDataSamples.java
@@ -26,139 +26,35 @@ import java.io.IOException;
import java.io.InputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.POIDataSamples;
/**
* Centralises logic for finding/opening sample files in the src/testcases/org/apache/poi/hssf/hssf/data folder.
*
* @author Josh Micich
*/
-public final class HSSFTestDataSamples {
+public final class HSSFTestDataSamples extends POIDataSamples {
- private static final String TEST_DATA_DIR_SYS_PROPERTY_NAME = "HSSF.testdata.path";
+ private static final HSSFTestDataSamples _inst = new HSSFTestDataSamples("HSSF.testdata.path", "SampleSS.xls");
- private static boolean _isInitialised;
- private static File _resolvedDataDir;
- /** <code>true</code> if standard system propery is not set,
- * but the data is available on the test runtime classpath */
- private static boolean _sampleDataIsAvaliableOnClassPath;
+ private HSSFTestDataSamples(String dir, String classPathTestFile){
+ super(dir, classPathTestFile);
+ }
- /**
- * Opens a sample file from the standard HSSF test data directory
- *
- * @return an open <tt>InputStream</tt> for the specified sample file
- */
- public static InputStream openSampleFileStream(String sampleFileName) {
-
- if(!_isInitialised) {
- try {
- initialise();
- } finally {
- _isInitialised = true;
- }
- }
- if (_sampleDataIsAvaliableOnClassPath) {
- InputStream result = openClasspathResource(sampleFileName);
- if(result == null) {
- throw new RuntimeException("specified test sample file '" + sampleFileName
- + "' not found on the classpath");
- }
-// System.out.println("opening cp: " + sampleFileName);
- // wrap to avoid temp warning method about auto-closing input stream
- return new NonSeekableInputStream(result);
- }
- if (_resolvedDataDir == null) {
- throw new RuntimeException("Must set system property '"
- + TEST_DATA_DIR_SYS_PROPERTY_NAME
- + "' properly before running tests");
- }
-
- File f = new File(_resolvedDataDir, sampleFileName);
- if (!f.exists()) {
- throw new RuntimeException("Sample file '" + sampleFileName
- + "' not found in data dir '" + _resolvedDataDir.getAbsolutePath() + "'");
- }
- try {
- if(!sampleFileName.equals(f.getCanonicalFile().getName())){
- throw new RuntimeException("File name is case-sensitive: requested '" + sampleFileName
- + "' but actual file is '" + f.getCanonicalFile().getName() + "'");
- }
- } catch (IOException e){
- throw new RuntimeException(e);
- }
-
- try {
- return new FileInputStream(f);
- } catch (FileNotFoundException e) {
- throw new RuntimeException(e);
- }
- }
-
- private static void initialise() {
- String dataDirName = System.getProperty(TEST_DATA_DIR_SYS_PROPERTY_NAME);
- if (dataDirName == null) {
- // check to see if we can just get the resources from the classpath
- InputStream is = openClasspathResource("SampleSS.xls");
- if (is != null) {
- try {
- is.close(); // be nice
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- _sampleDataIsAvaliableOnClassPath = true;
- return;
- }
-
- throw new RuntimeException("Must set system property '"
- + TEST_DATA_DIR_SYS_PROPERTY_NAME + "' before running tests");
- }
- File dataDir = new File(dataDirName);
- if (!dataDir.exists()) {
- throw new RuntimeException("Data dir '" + dataDirName
- + "' specified by system property '" + TEST_DATA_DIR_SYS_PROPERTY_NAME
- + "' does not exist");
- }
- // convert to canonical file, to make any subsequent error messages
- // clearer.
- try {
- _resolvedDataDir = dataDir.getCanonicalFile();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * Opens a test sample file from the 'data' sub-package of this class's package.
- * @return <code>null</code> if the sample file is not deployed on the classpath.
- */
- private static InputStream openClasspathResource(String sampleFileName) {
- return HSSFTestDataSamples.class.getResourceAsStream("data/" + sampleFileName);
- }
+ public static POIDataSamples getInstance(){
+ return _inst;
+ }
- private static final class NonSeekableInputStream extends InputStream {
-
- private final InputStream _is;
-
- public NonSeekableInputStream(InputStream is) {
- _is = is;
- }
+ public static InputStream openSampleFileStream(String sampleFileName) {
+ return _inst.openResourceAsStream(sampleFileName);
+ }
+ public static byte[] getTestDataFileContent(String fileName) {
+ return _inst.readFile(fileName);
+ }
- public int read() throws IOException {
- return _is.read();
- }
- public int read(byte[] b, int off, int len) throws IOException {
- return _is.read(b, off, len);
- }
- public boolean markSupported() {
- return false;
- }
- public void close() throws IOException {
- _is.close();
- }
- }
-
- public static HSSFWorkbook openSampleWorkbook(String sampleFileName) {
+ public static HSSFWorkbook openSampleWorkbook(String sampleFileName) {
try {
- return new HSSFWorkbook(openSampleFileStream(sampleFileName));
+ return new HSSFWorkbook(_inst.openResourceAsStream(sampleFileName));
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -180,27 +76,4 @@ public final class HSSFTestDataSamples {
}
}
- /**
- * @return byte array of sample file content from file found in standard hssf test data dir
- */
- public static byte[] getTestDataFileContent(String fileName) {
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
-
- try {
- InputStream fis = HSSFTestDataSamples.openSampleFileStream(fileName);
-
- byte[] buf = new byte[512];
- while (true) {
- int bytesRead = fis.read(buf);
- if (bytesRead < 1) {
- break;
- }
- bos.write(buf, 0, bytesRead);
- }
- fis.close();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- return bos.toByteArray();
- }
}