mirror of https://github.com/apache/poi.git
moved all test data to a top-level directory, refactored all junit usages of .testdata.path to one place
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@806959 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e8b5f36704
commit
2712b14d2f
62
build.xml
62
build.xml
|
@ -76,6 +76,7 @@ under the License.
|
|||
<property name="main.lib" location="lib"/>
|
||||
<property name="ooxml.lib" location="ooxml-lib"/>
|
||||
<property name="main.reports.test" location="build/test-results"/>
|
||||
<property name="poi.test.dir" location="test-data"/>
|
||||
|
||||
<property name="main.commons-logging.jar" location="${main.lib}/commons-logging-1.1.jar"/>
|
||||
<property name="main.commons-logging.url" value="${repository.m2}/maven2/commons-logging/commons-logging/1.1/commons-logging-1.1.jar"/>
|
||||
|
@ -566,12 +567,7 @@ under the License.
|
|||
<classpath refid="test.classpath"/>
|
||||
<sysproperty key="user.language" value="en"/>
|
||||
<sysproperty key="user.country" value="US"/>
|
||||
<sysproperty key="HSSF.testdata.path" file="${main.src.test}/org/apache/poi/hssf/data"/>
|
||||
<sysproperty key="HSLF.testdata.path" file="${main.src.test}/org/apache/poi/hslf/data"/>
|
||||
<sysproperty key="HWPF.testdata.path" file="${main.src.test}/org/apache/poi/hwpf/data"/>
|
||||
<sysproperty key="HPSF.testdata.path" file="${main.src.test}/org/apache/poi/hpsf/data"/>
|
||||
<sysproperty key="POIFS.testdata.path" file="${main.src.test}/org/apache/poi/poifs/data"/>
|
||||
<sysproperty key="DDF.testdata.path" file="${main.src.test}/org/apache/poi/ddf/data"/>
|
||||
<sysproperty key="POI.testdata.path" file="${poi.test.dir}"/>
|
||||
<sysproperty key="java.awt.headless" value="true"/>
|
||||
<formatter type="plain"/>
|
||||
<formatter type="xml"/>
|
||||
|
@ -602,10 +598,7 @@ under the License.
|
|||
</classpath>
|
||||
<sysproperty key="user.language" value="en"/>
|
||||
<sysproperty key="user.country" value="US"/>
|
||||
<sysproperty key="HSSF.testdata.path" file="${main.src.test}/org/apache/poi/hssf/data"/>
|
||||
<sysproperty key="HPSF.testdata.path" file="${main.src.test}/org/apache/poi/hpsf/data"/>
|
||||
<sysproperty key="HWPF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hwpf/data"/>
|
||||
<sysproperty key="POIFS.testdata.path" file="${main.src.test}/org/apache/poi/poifs/data"/>
|
||||
<sysproperty key="POI.testdata.path" file="${poi.test.dir}"/>
|
||||
<sysproperty key="java.awt.headless" value="true"/>
|
||||
<formatter type="plain" usefile="no"/>
|
||||
<batchtest todir="${main.reports.test}">
|
||||
|
@ -631,16 +624,8 @@ under the License.
|
|||
</classpath>
|
||||
<sysproperty key="user.language" value="en"/>
|
||||
<sysproperty key="user.country" value="US"/>
|
||||
<sysproperty key="HSSF.testdata.path" file="${main.src.test}/org/apache/poi/hssf/data"/>
|
||||
<sysproperty key="HPSF.testdata.path" file="${main.src.test}/org/apache/poi/hpsf/data"/>
|
||||
<sysproperty key="HSLF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hslf/data"/>
|
||||
<sysproperty key="HWPF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hwpf/data"/>
|
||||
<sysproperty key="HSMF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hsmf/data"/>
|
||||
<sysproperty key="HDGF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hdgf/data"/>
|
||||
<sysproperty key="HPBF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hpbf/data"/>
|
||||
<sysproperty key="POIFS.testdata.path" file="${main.src.test}/org/apache/poi/poifs/data"/>
|
||||
<sysproperty key="OOXML.testdata.path" file="${ooxml.src.test}/org/apache/poi/ooxml/data"/>
|
||||
<sysproperty key="java.awt.headless" value="true"/>
|
||||
<sysproperty key="POI.testdata.path" file="${poi.test.dir}"/>
|
||||
<sysproperty key="java.awt.headless" value="true"/>
|
||||
<formatter type="plain" usefile="no"/>
|
||||
<formatter type="xml"/>
|
||||
<test name="${testcase}"/>
|
||||
|
@ -675,15 +660,7 @@ under the License.
|
|||
</classpath>
|
||||
<sysproperty key="user.language" value="en"/>
|
||||
<sysproperty key="user.country" value="US"/>
|
||||
<sysproperty key="HSSF.testdata.path" file="${main.src.test}/org/apache/poi/hssf/data"/>
|
||||
<sysproperty key="HPSF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hpsf/data"/>
|
||||
<sysproperty key="HDF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hdf/data"/>
|
||||
<sysproperty key="HWPF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hwpf/data"/>
|
||||
<sysproperty key="HSLF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hslf/data"/>
|
||||
<sysproperty key="HSMF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hsmf/data"/>
|
||||
<sysproperty key="HDGF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hdgf/data"/>
|
||||
<sysproperty key="HPBF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hpbf/data"/>
|
||||
<sysproperty key="POIFS.testdata.path" file="${main.src.test}/org/apache/poi/poifs/data"/>
|
||||
<sysproperty key="POI.testdata.path" file="${poi.test.dir}"/>
|
||||
<sysproperty key="java.awt.headless" value="true"/>
|
||||
<formatter type="plain"/>
|
||||
<formatter type="xml"/>
|
||||
|
@ -714,14 +691,7 @@ under the License.
|
|||
</classpath>
|
||||
<sysproperty key="user.language" value="en"/>
|
||||
<sysproperty key="user.country" value="US"/>
|
||||
<sysproperty key="HSSF.testdata.path" file="${main.src.test}/org/apache/poi/hssf/data"/>
|
||||
<sysproperty key="HPSF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hpsf/data"/>
|
||||
<sysproperty key="HWPF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hwpf/data"/>
|
||||
<sysproperty key="HSLF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hslf/data"/>
|
||||
<sysproperty key="HSMF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hsmf/data"/>
|
||||
<sysproperty key="HDGF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hdgf/data"/>
|
||||
<sysproperty key="HPBF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hpbf/data"/>
|
||||
<sysproperty key="POIFS.testdata.path" file="${main.src.test}/org/apache/poi/poifs/data"/>
|
||||
<sysproperty key="POI.testdata.path" file="${poi.test.dir}"/>
|
||||
<sysproperty key="java.awt.headless" value="true"/>
|
||||
<sysproperty key="java.awt.headless" value="true"/>
|
||||
<formatter type="plain" usefile="no"/>
|
||||
|
@ -748,8 +718,6 @@ under the License.
|
|||
</classpath>
|
||||
<sysproperty key="user.language" value="en"/>
|
||||
<sysproperty key="user.country" value="US"/>
|
||||
<sysproperty key="HSSF.testdata.path" file="${contrib.src.test}/org/apache/poi/hssf/data"/>
|
||||
<sysproperty key="HPSF.testdata.path" file="${contrib.src.test}/org/apache/poi/hpsf/data"/>
|
||||
<sysproperty key="java.awt.headless" value="true"/>
|
||||
<formatter type="plain"/>
|
||||
<formatter type="xml"/>
|
||||
|
@ -780,14 +748,7 @@ under the License.
|
|||
<classpath refid="test.ooxml.classpath" />
|
||||
<sysproperty key="user.language" value="en"/>
|
||||
<sysproperty key="user.country" value="US"/>
|
||||
<sysproperty key="POIFS.testdata.path" file="${main.src.test}/org/apache/poi/poifs/data"/>
|
||||
<sysproperty key="HSSF.testdata.path" file="${main.src.test}/org/apache/poi/hssf/data"/>
|
||||
<sysproperty key="HWPF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hwpf/data"/>
|
||||
<sysproperty key="HSLF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hslf/data"/>
|
||||
<sysproperty key="HDGF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hdgf/data"/>
|
||||
<sysproperty key="OOXML.testdata.path" file="${ooxml.src.test}/org/apache/poi/ooxml/data"/>
|
||||
<sysproperty key="openxml4j.compliance.input" file="${ooxml.src.test}/org/apache/poi/openxml4j/opc/compliance/data"/>
|
||||
<sysproperty key="openxml4j.testdata.input" file="${ooxml.src.test}/org/apache/poi/openxml4j/opc/data"/>
|
||||
<sysproperty key="POI.testdata.path" file="${poi.test.dir}"/>
|
||||
<sysproperty key="java.awt.headless" value="true"/>
|
||||
<formatter type="plain"/>
|
||||
<formatter type="xml"/>
|
||||
|
@ -811,12 +772,7 @@ under the License.
|
|||
<classpath refid="test.ooxml.classpath" />
|
||||
<sysproperty key="user.language" value="en"/>
|
||||
<sysproperty key="user.country" value="US"/>
|
||||
<sysproperty key="HSSF.testdata.path" file="${main.src.test}/org/apache/poi/hssf/data"/>
|
||||
<sysproperty key="HPSF.testdata.path" file="${main.src.test}/org/apache/poi/hpsf/data"/>
|
||||
<sysproperty key="HSLF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hslf/data"/>
|
||||
<sysproperty key="HWPF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hwpf/data"/>
|
||||
<sysproperty key="HSMF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hsmf/data"/>
|
||||
<sysproperty key="HDGF.testdata.path" file="${scratchpad.src.test}/org/apache/poi/hdgf/data"/>
|
||||
<sysproperty key="POI.testdata.path" file="${poi.test.dir}"/>
|
||||
<sysproperty key="java.awt.headless" value="true"/>
|
||||
<formatter type="plain" usefile="no"/>
|
||||
<formatter type="xml"/>
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
|
||||
<changes>
|
||||
<release version="3.5-beta7" date="2009-??-??">
|
||||
<action dev="POI-DEVELOPERS" type="fix">moved all test data to a top-level directory</action>
|
||||
<action dev="POI-DEVELOPERS" type="add">47721 - Added implementation for INDIRECT()</action>
|
||||
<action dev="POI-DEVELOPERS" type="add">45583 - Avoid exception when reading ClipboardData packet in OLE property sets</action>
|
||||
<action dev="POI-DEVELOPERS" type="add">47652 - Added support for reading encrypted workbooks</action>
|
||||
|
|
|
@ -36,34 +36,24 @@ import junit.framework.TestCase;
|
|||
*/
|
||||
public class TestEmbeded extends TestCase
|
||||
{
|
||||
public String dirname;
|
||||
|
||||
public void setUp() {
|
||||
dirname = System.getProperty("OOXML.testdata.path");
|
||||
assertNotNull(dirname);
|
||||
}
|
||||
|
||||
public void testExcel() throws Exception {
|
||||
File f = new File(dirname, "ExcelWithAttachments.xlsm");
|
||||
assertTrue(f.exists());
|
||||
|
||||
POIXMLDocument doc = new XSSFWorkbook(OPCPackage.open(f.toString()));
|
||||
POIXMLDocument doc = new XSSFWorkbook(
|
||||
POIDataSamples.getSpreadSheetInstance().openResourceAsStream("ExcelWithAttachments.xlsm")
|
||||
);
|
||||
test(doc, 4);
|
||||
}
|
||||
|
||||
public void testWord() throws Exception {
|
||||
File f = new File(dirname, "WordWithAttachments.docx");
|
||||
assertTrue(f.exists());
|
||||
|
||||
POIXMLDocument doc = new XWPFDocument(OPCPackage.open(f.toString()));
|
||||
POIXMLDocument doc = new XWPFDocument(
|
||||
POIDataSamples.getDocumentInstance().openResourceAsStream("WordWithAttachments.docx")
|
||||
);
|
||||
test(doc, 5);
|
||||
}
|
||||
|
||||
public void testPowerPoint() throws Exception {
|
||||
File f = new File(dirname, "PPTWithAttachments.pptm");
|
||||
assertTrue(f.exists());
|
||||
|
||||
POIXMLDocument doc = new XSLFSlideShow(OPCPackage.open(f.toString()));
|
||||
POIXMLDocument doc = new XSLFSlideShow(OPCPackage.open(
|
||||
POIDataSamples.getSlideShowInstance().openResourceAsStream("PPTWithAttachments.pptm"))
|
||||
);
|
||||
test(doc, 4);
|
||||
}
|
||||
|
||||
|
|
|
@ -30,11 +30,13 @@ import org.apache.poi.openxml4j.opc.OPCPackage;
|
|||
import org.apache.poi.openxml4j.opc.PackagePart;
|
||||
import org.apache.poi.openxml4j.opc.PackageRelationship;
|
||||
import org.apache.poi.util.TempFile;
|
||||
import org.apache.poi.util.PackageHelper;
|
||||
|
||||
/**
|
||||
* Test recursive read and write of OPC packages
|
||||
*/
|
||||
public final class TestPOIXMLDocument extends TestCase {
|
||||
|
||||
private static class OPCParser extends POIXMLDocument {
|
||||
|
||||
public OPCParser(OPCPackage pkg) {
|
||||
|
@ -81,9 +83,8 @@ public final class TestPOIXMLDocument extends TestCase {
|
|||
}
|
||||
}
|
||||
|
||||
public void assertReadWrite(String path) throws Exception {
|
||||
public void assertReadWrite(OPCPackage pkg1) throws Exception {
|
||||
|
||||
OPCPackage pkg1 = OPCPackage.open(path);
|
||||
OPCParser doc = new OPCParser(pkg1);
|
||||
doc.parse(new TestFactory());
|
||||
|
||||
|
@ -124,17 +125,20 @@ public final class TestPOIXMLDocument extends TestCase {
|
|||
}
|
||||
|
||||
public void testPPTX() throws Exception {
|
||||
File file = new File(System.getProperty("OOXML.testdata.path"), "PPTWithAttachments.pptm");
|
||||
assertReadWrite(file.getAbsolutePath());
|
||||
assertReadWrite(
|
||||
PackageHelper.open(POIDataSamples.getSlideShowInstance().openResourceAsStream("PPTWithAttachments.pptm"))
|
||||
);
|
||||
}
|
||||
|
||||
public void testXLSX() throws Exception {
|
||||
File file = new File(System.getProperty("OOXML.testdata.path"), "ExcelWithAttachments.xlsm");
|
||||
assertReadWrite(file.getAbsolutePath());
|
||||
assertReadWrite(
|
||||
PackageHelper.open(POIDataSamples.getSpreadSheetInstance().openResourceAsStream("ExcelWithAttachments.xlsm"))
|
||||
);
|
||||
}
|
||||
|
||||
public void testDOCX() throws Exception {
|
||||
File file = new File(System.getProperty("OOXML.testdata.path"), "WordWithAttachments.docx");
|
||||
assertReadWrite(file.getAbsolutePath());
|
||||
assertReadWrite(
|
||||
PackageHelper.open(POIDataSamples.getDocumentInstance().openResourceAsStream("WordWithAttachments.docx"))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,21 +21,16 @@ import java.io.File;
|
|||
import org.apache.poi.xssf.extractor.XSSFExcelExtractor;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.apache.poi.openxml4j.opc.OPCPackage;
|
||||
import org.apache.poi.util.PackageHelper;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public final class TestXMLPropertiesTextExtractor extends TestCase {
|
||||
private String dirname;
|
||||
|
||||
protected void setUp() {
|
||||
dirname = System.getProperty("OOXML.testdata.path");
|
||||
assertTrue( (new File(dirname)).exists() );
|
||||
}
|
||||
private static final POIDataSamples _ssSamples = POIDataSamples.getSpreadSheetInstance();
|
||||
|
||||
public void testGetFromMainExtractor() throws Exception {
|
||||
OPCPackage pkg = OPCPackage.open(
|
||||
(new File(dirname, "ExcelWithAttachments.xlsm")).toString()
|
||||
);
|
||||
OPCPackage pkg = PackageHelper.open(_ssSamples.openResourceAsStream("ExcelWithAttachments.xlsm"));
|
||||
|
||||
XSSFWorkbook wb = new XSSFWorkbook(pkg);
|
||||
|
||||
XSSFExcelExtractor ext = new XSSFExcelExtractor(wb);
|
||||
|
@ -54,8 +49,8 @@ public final class TestXMLPropertiesTextExtractor extends TestCase {
|
|||
}
|
||||
|
||||
public void testCore() throws Exception {
|
||||
OPCPackage pkg = OPCPackage.open(
|
||||
(new File(dirname, "ExcelWithAttachments.xlsm")).toString()
|
||||
OPCPackage pkg = PackageHelper.open(
|
||||
_ssSamples.openResourceAsStream("ExcelWithAttachments.xlsm")
|
||||
);
|
||||
XSSFWorkbook wb = new XSSFWorkbook(pkg);
|
||||
|
||||
|
@ -72,7 +67,7 @@ public final class TestXMLPropertiesTextExtractor extends TestCase {
|
|||
|
||||
public void testExtended() throws Exception {
|
||||
OPCPackage pkg = OPCPackage.open(
|
||||
(new File(dirname, "ExcelWithAttachments.xlsm")).toString()
|
||||
_ssSamples.openResourceAsStream("ExcelWithAttachments.xlsm")
|
||||
);
|
||||
XSSFWorkbook wb = new XSSFWorkbook(pkg);
|
||||
|
||||
|
|
|
@ -22,10 +22,13 @@ import java.io.IOException;
|
|||
|
||||
import org.apache.poi.POIOLE2TextExtractor;
|
||||
import org.apache.poi.POITextExtractor;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
import org.apache.poi.hdgf.extractor.VisioTextExtractor;
|
||||
import org.apache.poi.hslf.extractor.PowerPointExtractor;
|
||||
import org.apache.poi.hssf.extractor.ExcelExtractor;
|
||||
import org.apache.poi.hssf.HSSFTestDataSamples;
|
||||
import org.apache.poi.hwpf.extractor.WordExtractor;
|
||||
import org.apache.poi.hwpf.HWPFTestDataSamples;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.xslf.extractor.XSLFPowerPointExtractor;
|
||||
import org.apache.poi.xssf.extractor.XSSFExcelExtractor;
|
||||
|
@ -40,21 +43,18 @@ import org.apache.poi.openxml4j.opc.OPCPackage;
|
|||
* Test that the extractor factory plays nicely
|
||||
*/
|
||||
public class TestExtractorFactory extends TestCase {
|
||||
private String excel_dir;
|
||||
private String word_dir;
|
||||
private String powerpoint_dir;
|
||||
private String visio_dir;
|
||||
private String poifs_dir;
|
||||
|
||||
|
||||
private File txt;
|
||||
|
||||
private File xls;
|
||||
private File xlsx;
|
||||
private File xltx;
|
||||
private File xltx;
|
||||
private File xlsEmb;
|
||||
|
||||
private File doc;
|
||||
private File docx;
|
||||
private File dotx;
|
||||
private File dotx;
|
||||
private File docEmb;
|
||||
|
||||
private File ppt;
|
||||
private File pptx;
|
||||
|
@ -64,31 +64,25 @@ public class TestExtractorFactory extends TestCase {
|
|||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
||||
excel_dir = System.getProperty("HSSF.testdata.path");
|
||||
word_dir = System.getProperty("HWPF.testdata.path");
|
||||
powerpoint_dir = System.getProperty("HSLF.testdata.path");
|
||||
visio_dir = System.getProperty("HDGF.testdata.path");
|
||||
poifs_dir = System.getProperty("POIFS.testdata.path");
|
||||
assertNotNull(excel_dir);
|
||||
assertNotNull(word_dir);
|
||||
assertNotNull(powerpoint_dir);
|
||||
assertNotNull(visio_dir);
|
||||
assertNotNull(poifs_dir);
|
||||
|
||||
txt = new File(powerpoint_dir, "SampleShow.txt");
|
||||
|
||||
xls = new File(excel_dir, "SampleSS.xls");
|
||||
xlsx = new File(excel_dir, "SampleSS.xlsx");
|
||||
xltx = new File(excel_dir, "test.xltx");
|
||||
POIDataSamples ssTests = POIDataSamples.getSpreadSheetInstance();
|
||||
xls = ssTests.getFile("SampleSS.xls");
|
||||
xlsx = ssTests.getFile("SampleSS.xlsx");
|
||||
xltx = ssTests.getFile("test.xltx");
|
||||
xlsEmb = ssTests.getFile("excel_with_embeded.xls");
|
||||
|
||||
doc = new File(word_dir, "SampleDoc.doc");
|
||||
docx = new File(word_dir, "SampleDoc.docx");
|
||||
dotx = new File(word_dir, "test.dotx");
|
||||
POIDataSamples wpTests = POIDataSamples.getDocumentInstance();
|
||||
doc = wpTests.getFile("SampleDoc.doc");
|
||||
docx = wpTests.getFile("SampleDoc.docx");
|
||||
dotx = wpTests.getFile("test.dotx");
|
||||
docEmb = wpTests.getFile("word_with_embeded.doc");
|
||||
|
||||
ppt = new File(powerpoint_dir, "SampleShow.ppt");
|
||||
pptx = new File(powerpoint_dir, "SampleShow.pptx");
|
||||
|
||||
vsd = new File(visio_dir, "Test_Visio-Some_Random_Text.vsd");
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
ppt = slTests.getFile("SampleShow.ppt");
|
||||
pptx = slTests.getFile("SampleShow.pptx");
|
||||
txt = slTests.getFile("SampleShow.txt");
|
||||
|
||||
POIDataSamples dgTests = POIDataSamples.getDiagramInstance();
|
||||
vsd = dgTests.getFile("Test_Visio-Some_Random_Text.vsd");
|
||||
}
|
||||
|
||||
public void testFile() throws Exception {
|
||||
|
@ -339,8 +333,7 @@ public class TestExtractorFactory extends TestCase {
|
|||
public void testEmbeded() throws Exception {
|
||||
POIOLE2TextExtractor ext;
|
||||
POITextExtractor[] embeds;
|
||||
File f;
|
||||
|
||||
|
||||
// No embedings
|
||||
ext = (POIOLE2TextExtractor)
|
||||
ExtractorFactory.createExtractor(xls);
|
||||
|
@ -348,9 +341,8 @@ public class TestExtractorFactory extends TestCase {
|
|||
assertEquals(0, embeds.length);
|
||||
|
||||
// Excel
|
||||
f = new File(poifs_dir, "excel_with_embeded.xls");
|
||||
ext = (POIOLE2TextExtractor)
|
||||
ExtractorFactory.createExtractor(f);
|
||||
ExtractorFactory.createExtractor(xlsEmb);
|
||||
embeds = ExtractorFactory.getEmbededDocsTextExtractors(ext);
|
||||
|
||||
assertEquals(6, embeds.length);
|
||||
|
@ -367,9 +359,8 @@ public class TestExtractorFactory extends TestCase {
|
|||
assertEquals(2, numWord);
|
||||
|
||||
// Word
|
||||
f = new File(poifs_dir, "word_with_embeded.doc");
|
||||
ext = (POIOLE2TextExtractor)
|
||||
ExtractorFactory.createExtractor(f);
|
||||
ExtractorFactory.createExtractor(docEmb);
|
||||
embeds = ExtractorFactory.getEmbededDocsTextExtractors(ext);
|
||||
|
||||
numWord = 0; numXls = 0; numPpt = 0;
|
||||
|
|
|
@ -17,6 +17,9 @@
|
|||
|
||||
package org.apache.poi.openxml4j;
|
||||
|
||||
import org.apache.poi.POIDataSamples;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
|
@ -28,121 +31,31 @@ import java.io.InputStream;
|
|||
* @author jmicich
|
||||
*/
|
||||
public final class OpenXML4JTestDataSamples {
|
||||
|
||||
private static final String IN_DIR_PROP_NAME = "openxml4j.testdata.input";
|
||||
private static final String COMP_IN_DIR_PROP_NAME = "openxml4j.compliance.input";
|
||||
|
||||
private static File _sampleInputDir;
|
||||
private static File _sampleOutputDir;
|
||||
private static File _complianceSampleInputDir;
|
||||
private static final POIDataSamples _samples = POIDataSamples.getOpenXML4JInstance();
|
||||
|
||||
private OpenXML4JTestDataSamples() {
|
||||
// no instances of this class
|
||||
}
|
||||
|
||||
|
||||
public static InputStream openSampleStream(String sampleFileName) {
|
||||
File f = getSampleFile(sampleFileName);
|
||||
try {
|
||||
return new FileInputStream(f);
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return _samples.openResourceAsStream(sampleFileName);
|
||||
}
|
||||
public static String getSampleFileName(String sampleFileName) {
|
||||
// TODO - investigate allowing read/write access for package opened on stream
|
||||
return getSampleFile(sampleFileName).getAbsolutePath();
|
||||
}
|
||||
|
||||
public static File getSampleFile(String sampleFileName) {
|
||||
File dir = getSampleInputDir();
|
||||
File f = new File(dir, sampleFileName);
|
||||
if (!f.exists()) {
|
||||
throw new RuntimeException("Specified sample file '"
|
||||
+ f.getAbsolutePath() + "' does not exist");
|
||||
}
|
||||
if (f.isDirectory()) {
|
||||
throw new RuntimeException("Specified sample file '"
|
||||
+ f.getAbsolutePath() + "' is a directory");
|
||||
}
|
||||
return f;
|
||||
return _samples.getFile(sampleFileName);
|
||||
}
|
||||
|
||||
public static File getOutputFile(String outputFileName) {
|
||||
File dir = getSampleOutputDir();
|
||||
return new File(dir, outputFileName);
|
||||
String suffix = outputFileName.substring(outputFileName.lastIndexOf('.'));
|
||||
return TempFile.createTempFile(outputFileName, suffix);
|
||||
}
|
||||
|
||||
|
||||
public static InputStream openComplianceSampleStream(String sampleFileName) {
|
||||
File f = getComplianceSampleFile(sampleFileName);
|
||||
try {
|
||||
return new FileInputStream(f);
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
private static File getComplianceSampleFile(String sampleFileName) {
|
||||
File dir = getComplianceSampleInputDir();
|
||||
File f = new File(dir, sampleFileName);
|
||||
if (!f.exists()) {
|
||||
throw new RuntimeException("Specified sample file '"
|
||||
+ f.getAbsolutePath() + "' does not exist");
|
||||
}
|
||||
if (f.isDirectory()) {
|
||||
throw new RuntimeException("Specified sample file '"
|
||||
+ f.getAbsolutePath() + "' is a directory");
|
||||
}
|
||||
return f;
|
||||
}
|
||||
public static String getComplianceSampleFileName(String sampleFileName) {
|
||||
return getComplianceSampleFile(sampleFileName).getAbsolutePath();
|
||||
}
|
||||
private static File getComplianceSampleInputDir() {
|
||||
if (_complianceSampleInputDir == null) {
|
||||
_complianceSampleInputDir = getAndCheckDirByProperty(COMP_IN_DIR_PROP_NAME);
|
||||
}
|
||||
return _complianceSampleInputDir;
|
||||
}
|
||||
|
||||
|
||||
private static File getSampleInputDir() {
|
||||
if (_sampleInputDir == null) {
|
||||
_sampleInputDir = getAndCheckDirByProperty(IN_DIR_PROP_NAME);
|
||||
}
|
||||
return _sampleInputDir;
|
||||
}
|
||||
|
||||
private static File getAndCheckDirByProperty(String propName) {
|
||||
String dirName = System.getProperty(propName);
|
||||
File dir = new File(dirName);
|
||||
if (!dir.exists()) {
|
||||
throw new RuntimeException("Specified '" + propName + "' directory: '"
|
||||
+ dirName + "' does not exist");
|
||||
}
|
||||
if (!dir.isDirectory()) {
|
||||
throw new RuntimeException("Specified '" + propName + "' directory: '"
|
||||
+ dirName + "' is a not a proper directory");
|
||||
}
|
||||
return dir;
|
||||
}
|
||||
|
||||
private static File getSampleOutputDir() {
|
||||
if (_sampleOutputDir == null) {
|
||||
File dir = new File(System.getProperty("java.io.tmpdir"), "poifiles");
|
||||
if (dir.exists()) {
|
||||
if (!dir.isDirectory()) {
|
||||
throw new RuntimeException("Specified output directory: '"
|
||||
+ dir.getAbsolutePath() + "' is a not a proper directory");
|
||||
}
|
||||
} else {
|
||||
if (!dir.mkdirs()) {
|
||||
throw new RuntimeException("Failed to create directory: '"
|
||||
+ dir.getAbsolutePath() + "'");
|
||||
}
|
||||
}
|
||||
_sampleOutputDir = dir;
|
||||
}
|
||||
return _sampleOutputDir;
|
||||
return _samples.openResourceAsStream(sampleFileName);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ import org.apache.poi.openxml4j.opc.OPCPackage;
|
|||
import org.apache.poi.openxml4j.opc.PackageRelationshipTypes;
|
||||
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
|
||||
import org.apache.poi.openxml4j.opc.TargetMode;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Test core properties Open Packaging Convention compliance.
|
||||
|
@ -144,11 +145,11 @@ public final class TestOPCComplianceCoreProperties extends TestCase {
|
|||
* Test M4.1 rule.
|
||||
*/
|
||||
public void testOnlyOneCorePropertiesPart_AddPart() {
|
||||
String sampleFileName = OpenXML4JTestDataSamples.getComplianceSampleFileName("OPCCompliance_CoreProperties_OnlyOneCorePropertiesPart.docx");
|
||||
String sampleFileName = "OPCCompliance_CoreProperties_OnlyOneCorePropertiesPart.docx";
|
||||
OPCPackage pkg = null;
|
||||
try {
|
||||
pkg = OPCPackage.open(sampleFileName);
|
||||
} catch (InvalidFormatException e) {
|
||||
pkg = OPCPackage.open(POIDataSamples.getOpenXML4JInstance().getFile(sampleFileName).getPath());
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
package org.apache.poi.openxml4j.opc.compliance;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
|
@ -29,6 +30,7 @@ import org.apache.poi.openxml4j.opc.PackagePartName;
|
|||
import org.apache.poi.openxml4j.opc.PackageRelationshipTypes;
|
||||
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
|
||||
import org.apache.poi.openxml4j.opc.TargetMode;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Test Open Packaging Convention package model compliance.
|
||||
|
@ -70,11 +72,10 @@ public class TestOPCCompliancePackageModel extends TestCase {
|
|||
* part name derived from another part name by appending segments to it.
|
||||
* [M1.11]
|
||||
*/
|
||||
public void testPartNameDerivationReadingFailure() {
|
||||
String filepath = System.getProperty("openxml4j.compliance.input")
|
||||
+ File.separator + "OPCCompliance_DerivedPartNameFAIL.docx";
|
||||
public void testPartNameDerivationReadingFailure() throws IOException {
|
||||
String filename = "OPCCompliance_DerivedPartNameFAIL.docx";
|
||||
try {
|
||||
OPCPackage.open(filepath);
|
||||
OPCPackage.open(POIDataSamples.getOpenXML4JInstance().openResourceAsStream(filename));
|
||||
} catch (InvalidFormatException e) {
|
||||
return;
|
||||
}
|
||||
|
|
Binary file not shown.
|
@ -16,31 +16,23 @@
|
|||
==================================================================== */
|
||||
package org.apache.poi.xslf;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.POIXMLDocument;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
import org.apache.poi.openxml4j.opc.OPCPackage;
|
||||
import org.apache.poi.openxml4j.opc.PackagePart;
|
||||
import org.openxmlformats.schemas.presentationml.x2006.main.CTSlideIdListEntry;
|
||||
import org.openxmlformats.schemas.presentationml.x2006.main.CTSlideMasterIdListEntry;
|
||||
|
||||
public class TestXSLFSlideShow extends TestCase {
|
||||
private String sampleFile;
|
||||
private static final POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
private OPCPackage pack;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
||||
sampleFile = new File(
|
||||
System.getProperty("HSLF.testdata.path") +
|
||||
File.separator + "sample.pptx"
|
||||
).toString();
|
||||
protected void setUp() throws Exception {
|
||||
pack = OPCPackage.open(slTests.openResourceAsStream("sample.pptx"));
|
||||
}
|
||||
|
||||
public void testContainsMainContentType() throws Exception {
|
||||
OPCPackage pack = POIXMLDocument.openPackage(sampleFile);
|
||||
|
||||
boolean found = false;
|
||||
for(PackagePart part : pack.getParts()) {
|
||||
if(part.getContentType().equals(XSLFSlideShow.MAIN_CONTENT_TYPE)) {
|
||||
|
@ -52,15 +44,11 @@ public class TestXSLFSlideShow extends TestCase {
|
|||
}
|
||||
|
||||
public void testOpen() throws Exception {
|
||||
POIXMLDocument.openPackage(sampleFile);
|
||||
|
||||
|
||||
XSLFSlideShow xml;
|
||||
|
||||
// With the finalised uri, should be fine
|
||||
xml = new XSLFSlideShow(
|
||||
POIXMLDocument.openPackage(sampleFile)
|
||||
);
|
||||
|
||||
xml = new XSLFSlideShow(pack);
|
||||
// Check the core
|
||||
assertNotNull(xml.getPresentation());
|
||||
|
||||
|
@ -74,7 +62,7 @@ public class TestXSLFSlideShow extends TestCase {
|
|||
}
|
||||
|
||||
public void testSlideBasics() throws Exception {
|
||||
XSLFSlideShow xml = new XSLFSlideShow(sampleFile);
|
||||
XSLFSlideShow xml = new XSLFSlideShow(pack);
|
||||
|
||||
// Should have 1 master
|
||||
assertEquals(1, xml.getSlideMasterReferences().sizeOfSldMasterIdArray());
|
||||
|
@ -108,7 +96,7 @@ public class TestXSLFSlideShow extends TestCase {
|
|||
}
|
||||
|
||||
public void testMetadataBasics() throws Exception {
|
||||
XSLFSlideShow xml = new XSLFSlideShow(sampleFile);
|
||||
XSLFSlideShow xml = new XSLFSlideShow(pack);
|
||||
|
||||
assertNotNull(xml.getProperties().getCoreProperties());
|
||||
assertNotNull(xml.getProperties().getExtendedProperties());
|
||||
|
|
|
@ -16,9 +16,8 @@
|
|||
==================================================================== */
|
||||
package org.apache.poi.xslf.extractor;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.poi.POIXMLDocument;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
import org.apache.poi.openxml4j.opc.OPCPackage;
|
||||
import org.apache.poi.xslf.XSLFSlideShow;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
@ -31,18 +30,12 @@ public class TestXSLFPowerPointExtractor extends TestCase {
|
|||
* A simple file
|
||||
*/
|
||||
private XSLFSlideShow xmlA;
|
||||
private File fileA;
|
||||
private OPCPackage pkg;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
||||
fileA = new File(
|
||||
System.getProperty("HSLF.testdata.path") +
|
||||
File.separator + "sample.pptx"
|
||||
);
|
||||
assertTrue(fileA.exists());
|
||||
|
||||
xmlA = new XSLFSlideShow(fileA.toString());
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
pkg = OPCPackage.open(slTests.openResourceAsStream("sample.pptx"));
|
||||
xmlA = new XSLFSlideShow(pkg);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -50,8 +43,7 @@ public class TestXSLFPowerPointExtractor extends TestCase {
|
|||
*/
|
||||
public void testGetSimpleText() throws Exception {
|
||||
new XSLFPowerPointExtractor(xmlA);
|
||||
new XSLFPowerPointExtractor(
|
||||
POIXMLDocument.openPackage(fileA.toString()));
|
||||
new XSLFPowerPointExtractor(pkg);
|
||||
|
||||
XSLFPowerPointExtractor extractor =
|
||||
new XSLFPowerPointExtractor(xmlA);
|
||||
|
@ -110,13 +102,8 @@ public class TestXSLFPowerPointExtractor extends TestCase {
|
|||
}
|
||||
|
||||
public void testGetComments() throws Exception {
|
||||
File file = new File(
|
||||
System.getProperty("HSLF.testdata.path") +
|
||||
File.separator + "45545_Comment.pptx"
|
||||
);
|
||||
assertTrue(file.exists());
|
||||
|
||||
xmlA = new XSLFSlideShow(file.toString());
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
xmlA = new XSLFSlideShow(OPCPackage.open(slTests.openResourceAsStream("45545_Comment.pptx")));
|
||||
XSLFPowerPointExtractor extractor =
|
||||
new XSLFPowerPointExtractor(xmlA);
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ import org.apache.poi.ss.SpreadsheetVersion;
|
|||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.apache.poi.hssf.HSSFTestDataSamples;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* @author Yegor Kozlov
|
||||
|
@ -45,7 +46,7 @@ public final class XSSFITestDataProvider implements ITestDataProvider {
|
|||
}
|
||||
|
||||
public byte[] getTestDataFileContent(String fileName) {
|
||||
return HSSFTestDataSamples.getTestDataFileContent(fileName);
|
||||
return POIDataSamples.getSpreadSheetInstance().readFile(fileName);
|
||||
}
|
||||
|
||||
public SpreadsheetVersion getSpreadsheetVersion(){
|
||||
|
|
|
@ -38,15 +38,8 @@ 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) {
|
||||
public static XSSFWorkbook openSampleWorkbook(String sampleName) {
|
||||
InputStream is = HSSFTestDataSamples.openSampleFileStream(sampleName);
|
||||
try {
|
||||
return new XSSFWorkbook(is);
|
||||
|
@ -57,24 +50,17 @@ public class XSSFTestDataSamples {
|
|||
public static <R extends Workbook> R writeOutAndReadBack(R wb) {
|
||||
Workbook result;
|
||||
try {
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream(8192);
|
||||
wb.write(baos);
|
||||
InputStream is = new ByteArrayInputStream(baos.toByteArray());
|
||||
if (wb instanceof HSSFWorkbook) {
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream(8192);
|
||||
wb.write(baos);
|
||||
InputStream is = new ByteArrayInputStream(baos.toByteArray());
|
||||
result = new HSSFWorkbook(is);
|
||||
} else if (wb instanceof XSSFWorkbook) {
|
||||
File tmp = TempFile.createTempFile("poi-ooxml-", ".xlsx");
|
||||
FileOutputStream out = new FileOutputStream(tmp);
|
||||
wb.write(out);
|
||||
out.close();
|
||||
OPCPackage pkg = OPCPackage.open(tmp.getAbsolutePath());
|
||||
result = new XSSFWorkbook(pkg);
|
||||
result = new XSSFWorkbook(is);
|
||||
} else {
|
||||
throw new RuntimeException("Unexpected workbook type ("
|
||||
throw new RuntimeException("Unexpected workbook type ("
|
||||
+ wb.getClass().getName() + ")");
|
||||
}
|
||||
} catch (InvalidFormatException e) {
|
||||
throw new RuntimeException(e);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
|
Binary file not shown.
|
@ -26,14 +26,16 @@ import org.apache.poi.openxml4j.opc.OPCPackage;
|
|||
import org.apache.poi.util.IOUtils;
|
||||
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests for {@link XSSFReader}
|
||||
*/
|
||||
public final class TestXSSFReader extends TestCase {
|
||||
private static POIDataSamples _ssTests = POIDataSamples.getSpreadSheetInstance();
|
||||
|
||||
public void testGetBits() throws Exception {
|
||||
OPCPackage pkg = OPCPackage.open(XSSFTestDataSamples.openSampleFileStream("SampleSS.xlsx"));
|
||||
public void testGetBits() throws Exception {
|
||||
OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"));
|
||||
|
||||
XSSFReader r = new XSSFReader(pkg);
|
||||
|
||||
|
@ -46,7 +48,7 @@ public final class TestXSSFReader extends TestCase {
|
|||
}
|
||||
|
||||
public void testStyles() throws Exception {
|
||||
OPCPackage pkg = OPCPackage.open(XSSFTestDataSamples.openSampleFileStream("SampleSS.xlsx"));
|
||||
OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"));
|
||||
|
||||
XSSFReader r = new XSSFReader(pkg);
|
||||
|
||||
|
@ -55,7 +57,7 @@ public final class TestXSSFReader extends TestCase {
|
|||
}
|
||||
|
||||
public void testStrings() throws Exception {
|
||||
OPCPackage pkg = OPCPackage.open(XSSFTestDataSamples.openSampleFileStream("SampleSS.xlsx"));
|
||||
OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"));
|
||||
|
||||
XSSFReader r = new XSSFReader(pkg);
|
||||
|
||||
|
@ -64,7 +66,7 @@ public final class TestXSSFReader extends TestCase {
|
|||
}
|
||||
|
||||
public void testSheets() throws Exception {
|
||||
OPCPackage pkg = OPCPackage.open(XSSFTestDataSamples.openSampleFileStream("SampleSS.xlsx"));
|
||||
OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"));
|
||||
|
||||
XSSFReader r = new XSSFReader(pkg);
|
||||
byte[] data = new byte[4096];
|
||||
|
@ -96,7 +98,7 @@ public final class TestXSSFReader extends TestCase {
|
|||
* (as they are defined in the workbook.xml)
|
||||
*/
|
||||
public void testOrderOfSheets() throws Exception {
|
||||
OPCPackage pkg = OPCPackage.open(XSSFTestDataSamples.openSampleFileStream("reordered_sheets.xlsx"));
|
||||
OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("reordered_sheets.xlsx"));
|
||||
|
||||
XSSFReader r = new XSSFReader(pkg);
|
||||
|
||||
|
|
|
@ -28,23 +28,15 @@ import org.apache.poi.ss.usermodel.Row;
|
|||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.apache.poi.xssf.usermodel.XSSFPictureData;
|
||||
import org.apache.poi.xssf.XSSFITestDataProvider;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
|
||||
public class TestLoadSaveXSSF extends TestCase {
|
||||
|
||||
String filename;
|
||||
|
||||
protected void setUp() {
|
||||
|
||||
System.setProperty("org.apache.poi.util.POILogger", org.apache.poi.util.CommonsLogger.class.getName());
|
||||
filename = System.getProperty("XSSF.testdata.path");
|
||||
if (filename == null) {
|
||||
filename = "src/ooxml/testcases/org/apache/poi/xssf/data";
|
||||
}
|
||||
}
|
||||
private static final POIDataSamples _ssSampels = POIDataSamples.getSpreadSheetInstance();
|
||||
|
||||
public void testLoadSample() throws Exception {
|
||||
XSSFWorkbook workbook = new XSSFWorkbook(new File(filename, "sample.xlsx").getAbsolutePath());
|
||||
XSSFWorkbook workbook = new XSSFWorkbook(_ssSampels.openResourceAsStream("sample.xlsx"));
|
||||
assertEquals(3, workbook.getNumberOfSheets());
|
||||
assertEquals("Sheet1", workbook.getSheetName(0));
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
|
@ -58,7 +50,7 @@ public class TestLoadSaveXSSF extends TestCase {
|
|||
|
||||
// TODO filename string hard coded in XSSFWorkbook constructor in order to make ant test-ooxml target be successful.
|
||||
public void testLoadStyles() throws Exception {
|
||||
XSSFWorkbook workbook = new XSSFWorkbook(new File(filename, "styles.xlsx").getAbsolutePath());
|
||||
XSSFWorkbook workbook = new XSSFWorkbook(_ssSampels.openResourceAsStream("styles.xlsx"));
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
Row row = sheet.getRow(0);
|
||||
Cell cell = row.getCell((short) 0);
|
||||
|
@ -68,7 +60,7 @@ public class TestLoadSaveXSSF extends TestCase {
|
|||
|
||||
// TODO filename string hard coded in XSSFWorkbook constructor in order to make ant test-ooxml target be successful.
|
||||
public void testLoadPictures() throws Exception {
|
||||
XSSFWorkbook workbook = new XSSFWorkbook(new File(filename, "picture.xlsx").getAbsolutePath());
|
||||
XSSFWorkbook workbook = new XSSFWorkbook(_ssSampels.openResourceAsStream("picture.xlsx"));
|
||||
List<XSSFPictureData> pictures = workbook.getAllPictures();
|
||||
assertEquals(1, pictures.size());
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@ import java.io.*;
|
|||
public class XWPFTestDataSamples {
|
||||
|
||||
public static XWPFDocument openSampleDocument(String sampleName) {
|
||||
InputStream is = HWPFTestDataSamples.openSampleFileStream(sampleName);
|
||||
InputStream is = POIDataSamples.getDocumentInstance().openResourceAsStream(sampleName);
|
||||
try {
|
||||
return new XWPFDocument(is);
|
||||
} catch (IOException e) {
|
||||
|
@ -46,9 +46,4 @@ public class XWPFTestDataSamples {
|
|||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static POIDataSamples getInstance(){
|
||||
return HWPFTestDataSamples.getInstance();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ import junit.framework.TestCase;
|
|||
import java.io.*;
|
||||
|
||||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
import org.apache.poi.hwpf.HWPFDocument;
|
||||
import org.apache.poi.hwpf.HWPFTestDataSamples;
|
||||
import org.apache.poi.poifs.filesystem.*;
|
||||
|
||||
/**
|
||||
|
@ -41,29 +41,15 @@ public final class TestPOIDocumentScratchpad extends TestCase {
|
|||
// The POI Documents to work on
|
||||
private POIDocument doc;
|
||||
private POIDocument doc2;
|
||||
// POIFS primed on the test (powerpoint and word) data
|
||||
private POIFSFileSystem pfs;
|
||||
private POIFSFileSystem pfs2;
|
||||
|
||||
/**
|
||||
* Set things up, using a PowerPoint document and
|
||||
* a Word Document for our testing
|
||||
*/
|
||||
public void setUp() throws Exception {
|
||||
String dirnameHSLF = System.getProperty("HSLF.testdata.path");
|
||||
String filenameHSLF = dirnameHSLF + "/basic_test_ppt_file.ppt";
|
||||
String dirnameHSSF = System.getProperty("HSSF.testdata.path");
|
||||
String filenameHSSF = dirnameHSLF + "/DateFormats.ppt";
|
||||
String dirnameHWPF = System.getProperty("HWPF.testdata.path");
|
||||
String filenameHWPF = dirnameHWPF + "/test2.doc";
|
||||
doc = new HSLFSlideShow(POIDataSamples.getSlideShowInstance().openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
|
||||
FileInputStream fisHSLF = new FileInputStream(filenameHSLF);
|
||||
pfs = new POIFSFileSystem(fisHSLF);
|
||||
doc = new HSLFSlideShow(pfs);
|
||||
|
||||
FileInputStream fisHWPF = new FileInputStream(filenameHWPF);
|
||||
pfs2 = new POIFSFileSystem(fisHWPF);
|
||||
doc2 = new HWPFDocument(pfs2);
|
||||
doc2 = HWPFTestDataSamples.openSampleFile("test2.doc");
|
||||
}
|
||||
|
||||
public void testReadProperties() {
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import java.io.InputStream;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Class to test {@link HDFDocument} functionality
|
||||
|
@ -30,19 +31,12 @@ import junit.framework.TestCase;
|
|||
* @author Bob Otterberg
|
||||
*/
|
||||
public final class TestHDFDocument extends TestCase {
|
||||
private static final POIDataSamples _samples = POIDataSamples.getDocumentInstance();
|
||||
|
||||
public void testStopJUnitComplainintAboutNoTests() {
|
||||
// TODO - fix these junits
|
||||
}
|
||||
|
||||
private static InputStream openSample(String sampleFileName) {
|
||||
String fullPathName = System.getProperty("HDF.testdata.path") + "/" + sampleFileName;
|
||||
try {
|
||||
return new FileInputStream(System.getProperty("HDF.testdata.path"));
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new RuntimeException("Sample HDF file '" + fullPathName + "' was not found.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* OBJECTIVE: Test that HDF can read an empty document (empty.doc).<P>
|
||||
* SUCCESS: HDF reads the document. Matches values in their particular positions.<P>
|
||||
|
@ -50,7 +44,7 @@ public final class TestHDFDocument extends TestCase {
|
|||
* in the document in their known positions.<P>
|
||||
*/
|
||||
public void fixme_testEmpty() throws IOException {
|
||||
InputStream stream = openSample("empty.doc");
|
||||
InputStream stream = _samples.openResourceAsStream("empty.doc");
|
||||
new HDFDocument(stream);
|
||||
}
|
||||
|
||||
|
@ -61,7 +55,7 @@ public final class TestHDFDocument extends TestCase {
|
|||
* in the document in their known positions.<P>
|
||||
*/
|
||||
public void fixme_testSimple() throws IOException {
|
||||
InputStream stream = openSample("simple.doc");
|
||||
InputStream stream = _samples.openResourceAsStream("simple.doc");
|
||||
new HDFDocument(stream);
|
||||
}
|
||||
|
||||
|
@ -73,7 +67,7 @@ public final class TestHDFDocument extends TestCase {
|
|||
*
|
||||
*/
|
||||
public void fixme_testSimpleList() throws IOException {
|
||||
InputStream stream = openSample("simple-list.doc");
|
||||
InputStream stream = _samples.openResourceAsStream("simple-list.doc");
|
||||
new HDFDocument(stream);
|
||||
}
|
||||
|
||||
|
@ -84,7 +78,7 @@ public final class TestHDFDocument extends TestCase {
|
|||
* in the document in their known positions.<P>
|
||||
*/
|
||||
public void fixme_testSimpleTable() throws IOException {
|
||||
InputStream stream = openSample("simple-table.doc");
|
||||
InputStream stream = _samples.openResourceAsStream("simple-table.doc");
|
||||
new HDFDocument(stream);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,18 +22,17 @@ import java.io.FileInputStream;
|
|||
import org.apache.poi.hdgf.streams.PointerContainingStream;
|
||||
import org.apache.poi.hdgf.streams.TrailerStream;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public final class TestHDGFCore extends TestCase {
|
||||
private static POIDataSamples _dgTests = POIDataSamples.getDiagramInstance();
|
||||
|
||||
private POIFSFileSystem fs;
|
||||
private String dirname;
|
||||
private String filename;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
dirname = System.getProperty("HDGF.testdata.path");
|
||||
filename = dirname + "/Test_Visio-Some_Random_Text.vsd";
|
||||
fs = new POIFSFileSystem(new FileInputStream(filename));
|
||||
fs = new POIFSFileSystem(_dgTests.openResourceAsStream("Test_Visio-Some_Random_Text.vsd"));
|
||||
}
|
||||
|
||||
public void testCreate() throws Exception {
|
||||
|
@ -68,8 +67,7 @@ public final class TestHDGFCore extends TestCase {
|
|||
* appears to have a negative chunk length
|
||||
*/
|
||||
public void DISABLEDtestNegativeChunkLength() throws Exception {
|
||||
filename = dirname + "/NegativeChunkLength.vsd";
|
||||
fs = new POIFSFileSystem(new FileInputStream(filename));
|
||||
fs = new POIFSFileSystem(_dgTests.openResourceAsStream("NegativeChunkLength.vsd"));
|
||||
|
||||
HDGFDiagram hdgf = new HDGFDiagram(fs);
|
||||
assertNotNull(hdgf);
|
||||
|
|
|
@ -19,20 +19,20 @@ package org.apache.poi.hdgf.extractor;
|
|||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.PrintStream;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.hdgf.HDGFDiagram;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
public final class TestVisioExtractor extends TestCase {
|
||||
private String dirname;
|
||||
private static POIDataSamples _dgTests = POIDataSamples.getDiagramInstance();
|
||||
|
||||
private String defFilename;
|
||||
protected void setUp() {
|
||||
dirname = System.getProperty("HDGF.testdata.path");
|
||||
defFilename = dirname + "/Test_Visio-Some_Random_Text.vsd";
|
||||
defFilename = "Test_Visio-Some_Random_Text.vsd";
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -41,14 +41,14 @@ public final class TestVisioExtractor extends TestCase {
|
|||
public void testCreation() throws Exception {
|
||||
VisioTextExtractor extractor;
|
||||
|
||||
extractor = new VisioTextExtractor(new FileInputStream(defFilename));
|
||||
extractor = new VisioTextExtractor(_dgTests.openResourceAsStream(defFilename));
|
||||
assertNotNull(extractor);
|
||||
assertNotNull(extractor.getAllText());
|
||||
assertEquals(3, extractor.getAllText().length);
|
||||
|
||||
extractor = new VisioTextExtractor(
|
||||
new POIFSFileSystem(
|
||||
new FileInputStream(defFilename)
|
||||
_dgTests.openResourceAsStream(defFilename)
|
||||
)
|
||||
);
|
||||
assertNotNull(extractor);
|
||||
|
@ -58,7 +58,7 @@ public final class TestVisioExtractor extends TestCase {
|
|||
extractor = new VisioTextExtractor(
|
||||
new HDGFDiagram(
|
||||
new POIFSFileSystem(
|
||||
new FileInputStream(defFilename)
|
||||
_dgTests.openResourceAsStream(defFilename)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
@ -69,7 +69,7 @@ public final class TestVisioExtractor extends TestCase {
|
|||
|
||||
public void testExtraction() throws Exception {
|
||||
VisioTextExtractor extractor =
|
||||
new VisioTextExtractor(new FileInputStream(defFilename));
|
||||
new VisioTextExtractor(_dgTests.openResourceAsStream(defFilename));
|
||||
|
||||
// Check the array fetch
|
||||
String[] text = extractor.getAllText();
|
||||
|
@ -86,20 +86,11 @@ public final class TestVisioExtractor extends TestCase {
|
|||
}
|
||||
|
||||
public void testProblemFiles() throws Exception {
|
||||
File a = new File(dirname, "44594.vsd");
|
||||
VisioTextExtractor.main(new String[] {a.toString()});
|
||||
|
||||
File b = new File(dirname, "44594-2.vsd");
|
||||
VisioTextExtractor.main(new String[] {b.toString()});
|
||||
|
||||
File c = new File(dirname, "ShortChunk1.vsd");
|
||||
VisioTextExtractor.main(new String[] {c.toString()});
|
||||
|
||||
File d = new File(dirname, "ShortChunk2.vsd");
|
||||
VisioTextExtractor.main(new String[] {d.toString()});
|
||||
|
||||
File e = new File(dirname, "ShortChunk3.vsd");
|
||||
VisioTextExtractor.main(new String[] {e.toString()});
|
||||
String[] files = {"44594.vsd", "44594-2.vsd", "ShortChunk1.vsd", "ShortChunk2.vsd", "ShortChunk3.vsd"};
|
||||
for(String file : files){
|
||||
VisioTextExtractor ex = new VisioTextExtractor(_dgTests.openResourceAsStream(file));
|
||||
ex.getText();
|
||||
}
|
||||
}
|
||||
|
||||
public void testMain() throws Exception {
|
||||
|
@ -108,7 +99,8 @@ public final class TestVisioExtractor extends TestCase {
|
|||
PrintStream capture = new PrintStream(baos);
|
||||
System.setOut(capture);
|
||||
|
||||
VisioTextExtractor.main(new String[] {defFilename});
|
||||
String path = _dgTests.getFile(defFilename).getPath();
|
||||
VisioTextExtractor.main(new String[] {path});
|
||||
|
||||
// Put things back
|
||||
System.setOut(oldOut);
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
package org.apache.poi.hdgf.streams;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
|
||||
import org.apache.poi.hdgf.HDGFDiagram;
|
||||
import org.apache.poi.hdgf.chunks.ChunkFactory;
|
||||
|
@ -25,6 +26,7 @@ import org.apache.poi.hdgf.pointers.Pointer;
|
|||
import org.apache.poi.hdgf.pointers.PointerFactory;
|
||||
import org.apache.poi.poifs.filesystem.DocumentEntry;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests for bugs with streams
|
||||
|
@ -36,13 +38,11 @@ public final class TestStreamBugs extends StreamTest {
|
|||
private POIFSFileSystem filesystem;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
String dirname = System.getProperty("HDGF.testdata.path");
|
||||
String filename = dirname + "/44594.vsd";
|
||||
ptrFactory = new PointerFactory(11);
|
||||
chunkFactory = new ChunkFactory(11);
|
||||
|
||||
FileInputStream fin = new FileInputStream(filename);
|
||||
filesystem = new POIFSFileSystem(fin);
|
||||
InputStream is = POIDataSamples.getDiagramInstance().openResourceAsStream("44594.vsd");
|
||||
filesystem = new POIFSFileSystem(is);
|
||||
|
||||
DocumentEntry docProps =
|
||||
(DocumentEntry)filesystem.getRoot().getEntry("VisioDocument");
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
package org.apache.poi.hdgf.streams;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
|
||||
import org.apache.poi.hdgf.chunks.Chunk;
|
||||
import org.apache.poi.hdgf.chunks.ChunkFactory;
|
||||
|
@ -25,6 +26,7 @@ import org.apache.poi.hdgf.pointers.Pointer;
|
|||
import org.apache.poi.hdgf.pointers.PointerFactory;
|
||||
import org.apache.poi.poifs.filesystem.DocumentEntry;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
public final class TestStreamComplex extends StreamTest {
|
||||
private byte[] contents;
|
||||
|
@ -34,13 +36,11 @@ public final class TestStreamComplex extends StreamTest {
|
|||
private PointerFactory ptrFactory;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
String dirname = System.getProperty("HDGF.testdata.path");
|
||||
String filename = dirname + "/Test_Visio-Some_Random_Text.vsd";
|
||||
ptrFactory = new PointerFactory(11);
|
||||
chunkFactory = new ChunkFactory(11);
|
||||
|
||||
FileInputStream fin = new FileInputStream(filename);
|
||||
POIFSFileSystem filesystem = new POIFSFileSystem(fin);
|
||||
InputStream is = POIDataSamples.getDiagramInstance().openResourceAsStream("Test_Visio-Some_Random_Text.vsd");
|
||||
POIFSFileSystem filesystem = new POIFSFileSystem(is);
|
||||
|
||||
DocumentEntry docProps =
|
||||
(DocumentEntry)filesystem.getRoot().getEntry("VisioDocument");
|
||||
|
|
|
@ -21,27 +21,22 @@ import java.io.File;
|
|||
import java.io.FileInputStream;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
public final class TestHPBFDocument extends TestCase {
|
||||
private String dir;
|
||||
|
||||
protected void setUp() {
|
||||
dir = System.getProperty("HPBF.testdata.path");
|
||||
}
|
||||
private static final POIDataSamples _samples = POIDataSamples.getPublisherInstance();
|
||||
|
||||
public void testOpen() throws Exception {
|
||||
File f = new File(dir, "Sample.pub");
|
||||
HPBFDocument doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample.pub")
|
||||
);
|
||||
|
||||
assertNotNull(doc);
|
||||
}
|
||||
|
||||
public void testBits() throws Exception {
|
||||
File f = new File(dir, "Sample.pub");
|
||||
HPBFDocument doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample.pub")
|
||||
);
|
||||
|
||||
assertNotNull(doc.getMainContents());
|
||||
|
|
|
@ -21,37 +21,31 @@ import java.io.File;
|
|||
import java.io.FileInputStream;
|
||||
|
||||
import org.apache.poi.hpbf.HPBFDocument;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public final class TextPublisherTextExtractor extends TestCase {
|
||||
private String dir;
|
||||
|
||||
protected void setUp() {
|
||||
dir = System.getProperty("HPBF.testdata.path");
|
||||
}
|
||||
private static final POIDataSamples _samples = POIDataSamples.getPublisherInstance();
|
||||
|
||||
public void testBasics() throws Exception {
|
||||
File f = new File(dir, "Sample.pub");
|
||||
HPBFDocument doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample.pub")
|
||||
);
|
||||
|
||||
PublisherTextExtractor ext =
|
||||
new PublisherTextExtractor(doc);
|
||||
ext.getText();
|
||||
|
||||
f = new File(dir, "Simple.pub");
|
||||
ext = new PublisherTextExtractor(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Simple.pub")
|
||||
);
|
||||
ext.getText();
|
||||
}
|
||||
|
||||
public void testContents() throws Exception {
|
||||
File f = new File(dir, "Sample.pub");
|
||||
HPBFDocument doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample.pub")
|
||||
);
|
||||
|
||||
PublisherTextExtractor ext =
|
||||
|
@ -87,9 +81,8 @@ public final class TextPublisherTextExtractor extends TestCase {
|
|||
);
|
||||
|
||||
// Now a simpler one
|
||||
f = new File(dir, "Simple.pub");
|
||||
ext = new PublisherTextExtractor(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Simple.pub")
|
||||
);
|
||||
text = ext.getText();
|
||||
assertEquals(
|
||||
|
@ -113,21 +106,18 @@ public final class TextPublisherTextExtractor extends TestCase {
|
|||
File f;
|
||||
HPBFDocument doc;
|
||||
|
||||
f = new File(dir, "Sample.pub");
|
||||
doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample.pub")
|
||||
);
|
||||
String s2007 = (new PublisherTextExtractor(doc)).getText();
|
||||
|
||||
f = new File(dir, "Sample2000.pub");
|
||||
doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample2000.pub")
|
||||
);
|
||||
String s2000 = (new PublisherTextExtractor(doc)).getText();
|
||||
|
||||
f = new File(dir, "Sample98.pub");
|
||||
doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample98.pub")
|
||||
);
|
||||
String s98 = (new PublisherTextExtractor(doc)).getText();
|
||||
|
||||
|
@ -141,9 +131,8 @@ public final class TextPublisherTextExtractor extends TestCase {
|
|||
* as we can hope it to.
|
||||
*/
|
||||
public void testWithHyperlinks() throws Exception {
|
||||
File f = new File(dir, "LinkAt10.pub");
|
||||
HPBFDocument doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("LinkAt10.pub")
|
||||
);
|
||||
|
||||
PublisherTextExtractor ext =
|
||||
|
@ -159,8 +148,9 @@ public final class TextPublisherTextExtractor extends TestCase {
|
|||
|
||||
|
||||
// Now a much more complex document
|
||||
f = new File(dir, "Sample.pub");
|
||||
ext = new PublisherTextExtractor(new FileInputStream(f));
|
||||
ext = new PublisherTextExtractor(
|
||||
_samples.openResourceAsStream("Sample.pub")
|
||||
);
|
||||
ext.setHyperlinksByDefault(true);
|
||||
String text = ext.getText();
|
||||
|
||||
|
|
|
@ -21,20 +21,16 @@ import java.io.File;
|
|||
import java.io.FileInputStream;
|
||||
|
||||
import org.apache.poi.hpbf.HPBFDocument;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public final class TestEscherParts extends TestCase {
|
||||
private String dir;
|
||||
|
||||
protected void setUp() {
|
||||
dir = System.getProperty("HPBF.testdata.path");
|
||||
}
|
||||
private static final POIDataSamples _samples = POIDataSamples.getPublisherInstance();
|
||||
|
||||
public void testBasics() throws Exception {
|
||||
File f = new File(dir, "Sample.pub");
|
||||
HPBFDocument doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample.pub")
|
||||
);
|
||||
|
||||
EscherStm es = doc.getEscherStm();
|
||||
|
@ -50,9 +46,8 @@ public final class TestEscherParts extends TestCase {
|
|||
}
|
||||
|
||||
public void testComplex() throws Exception {
|
||||
File f = new File(dir, "SampleBrochure.pub");
|
||||
HPBFDocument doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("SampleBrochure.pub")
|
||||
);
|
||||
|
||||
EscherStm es = doc.getEscherStm();
|
||||
|
@ -68,9 +63,8 @@ public final class TestEscherParts extends TestCase {
|
|||
|
||||
|
||||
// Now do another complex file
|
||||
f = new File(dir, "SampleNewsletter.pub");
|
||||
doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("SampleNewsletter.pub")
|
||||
);
|
||||
|
||||
es = doc.getEscherStm();
|
||||
|
|
|
@ -17,29 +17,22 @@
|
|||
|
||||
package org.apache.poi.hpbf.model;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
|
||||
import org.apache.poi.hpbf.HPBFDocument;
|
||||
import org.apache.poi.hpbf.model.qcbits.QCTextBit;
|
||||
import org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type12;
|
||||
import org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type0;
|
||||
import org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type4;
|
||||
import org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type8;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public final class TestQuillContents extends TestCase {
|
||||
private String dir;
|
||||
|
||||
protected void setUp() {
|
||||
dir = System.getProperty("HPBF.testdata.path");
|
||||
}
|
||||
private static final POIDataSamples _samples = POIDataSamples.getPublisherInstance();
|
||||
|
||||
public void testBasics() throws Exception {
|
||||
File f = new File(dir, "Sample.pub");
|
||||
HPBFDocument doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample.pub")
|
||||
);
|
||||
|
||||
QuillContents qc = doc.getQuillContents();
|
||||
|
@ -69,9 +62,8 @@ public final class TestQuillContents extends TestCase {
|
|||
}
|
||||
|
||||
public void testText() throws Exception {
|
||||
File f = new File(dir, "Sample.pub");
|
||||
HPBFDocument doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample.pub")
|
||||
);
|
||||
|
||||
QuillContents qc = doc.getQuillContents();
|
||||
|
@ -84,9 +76,8 @@ public final class TestQuillContents extends TestCase {
|
|||
}
|
||||
|
||||
public void testPLC() throws Exception {
|
||||
File f = new File(dir, "Simple.pub");
|
||||
HPBFDocument doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Simple.pub")
|
||||
);
|
||||
|
||||
QuillContents qc = doc.getQuillContents();
|
||||
|
@ -145,9 +136,8 @@ public final class TestQuillContents extends TestCase {
|
|||
}
|
||||
|
||||
public void testComplexPLC() throws Exception {
|
||||
File f = new File(dir, "Sample.pub");
|
||||
HPBFDocument doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample.pub")
|
||||
);
|
||||
|
||||
QuillContents qc = doc.getQuillContents();
|
||||
|
@ -247,9 +237,8 @@ public final class TestQuillContents extends TestCase {
|
|||
}
|
||||
|
||||
public void testNoHyperlinks() throws Exception {
|
||||
File f = new File(dir, "SampleNewsletter.pub");
|
||||
HPBFDocument doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("SampleNewsletter.pub")
|
||||
);
|
||||
|
||||
QuillContents qc = doc.getQuillContents();
|
||||
|
@ -264,15 +253,13 @@ public final class TestQuillContents extends TestCase {
|
|||
}
|
||||
|
||||
public void testSimpleHyperlink() throws Exception {
|
||||
File f;
|
||||
HPBFDocument doc;
|
||||
QuillContents qc;
|
||||
Type12 hlBit;
|
||||
|
||||
// Link at 10
|
||||
f = new File(dir, "LinkAt10.pub");
|
||||
doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("LinkAt10.pub")
|
||||
);
|
||||
qc = doc.getQuillContents();
|
||||
|
||||
|
@ -285,9 +272,8 @@ public final class TestQuillContents extends TestCase {
|
|||
assertEquals("http://poi.apache.org/", hlBit.getHyperlink(0));
|
||||
|
||||
// Longer link at 10
|
||||
f = new File(dir, "LinkAt10Longer.pub");
|
||||
doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("LinkAt10Longer.pub")
|
||||
);
|
||||
qc = doc.getQuillContents();
|
||||
|
||||
|
@ -300,9 +286,8 @@ public final class TestQuillContents extends TestCase {
|
|||
assertEquals("http://poi.apache.org/hpbf/", hlBit.getHyperlink(0));
|
||||
|
||||
// Link at 20
|
||||
f = new File(dir, "LinkAt20.pub");
|
||||
doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("LinkAt20.pub")
|
||||
);
|
||||
qc = doc.getQuillContents();
|
||||
|
||||
|
@ -316,15 +301,13 @@ public final class TestQuillContents extends TestCase {
|
|||
}
|
||||
|
||||
public void testManyHyperlinks() throws Exception {
|
||||
File f;
|
||||
HPBFDocument doc;
|
||||
QuillContents qc;
|
||||
Type12 hlBit;
|
||||
|
||||
// Link at 10
|
||||
f = new File(dir, "LinkAt10.pub");
|
||||
doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("LinkAt10.pub")
|
||||
);
|
||||
qc = doc.getQuillContents();
|
||||
|
||||
|
@ -339,16 +322,14 @@ public final class TestQuillContents extends TestCase {
|
|||
}
|
||||
|
||||
public void testHyperlinkDifferentVersions() throws Exception {
|
||||
File f;
|
||||
HPBFDocument doc;
|
||||
QuillContents qc;
|
||||
Type12 hlBitA;
|
||||
Type12 hlBitB;
|
||||
|
||||
// Latest version
|
||||
f = new File(dir, "Sample.pub");
|
||||
doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample.pub")
|
||||
);
|
||||
qc = doc.getQuillContents();
|
||||
|
||||
|
@ -375,9 +356,8 @@ public final class TestQuillContents extends TestCase {
|
|||
assertEquals("mailto:dev@poi.apache.org?subject=HPBF", hlBitB.getHyperlink(2));
|
||||
|
||||
// 2000 version
|
||||
f = new File(dir, "Sample2000.pub");
|
||||
doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample2000.pub")
|
||||
);
|
||||
qc = doc.getQuillContents();
|
||||
|
||||
|
@ -404,9 +384,8 @@ public final class TestQuillContents extends TestCase {
|
|||
assertEquals("mailto:dev@poi.apache.org?subject=HPBF", hlBitB.getHyperlink(2));
|
||||
|
||||
// 98 version
|
||||
f = new File(dir, "Sample98.pub");
|
||||
doc = new HPBFDocument(
|
||||
new FileInputStream(f)
|
||||
_samples.openResourceAsStream("Sample98.pub")
|
||||
);
|
||||
qc = doc.getQuillContents();
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.apache.poi.hslf;
|
|||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that HSLFSlideShow does the right thing with an encrypted file
|
||||
|
@ -28,48 +29,31 @@ import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
|
|||
* @author Nick Burch (nick at torchbox dot com)
|
||||
*/
|
||||
public final class TestEncryptedFile extends TestCase {
|
||||
// A non encrypted file
|
||||
private String ss_ne;
|
||||
// An encrypted file, with encrypted properties
|
||||
private String ss_e;
|
||||
// An encrypted file, without encrypted properties
|
||||
private String ss_np_e;
|
||||
// An encrypted file, with a 56 bit key
|
||||
private String ss_56_e;
|
||||
|
||||
|
||||
public TestEncryptedFile() {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
|
||||
ss_ne = dirname + "/basic_test_ppt_file.ppt";
|
||||
ss_e = dirname + "/Password_Protected-hello.ppt";
|
||||
ss_np_e = dirname + "/Password_Protected-np-hello.ppt";
|
||||
ss_56_e = dirname + "/Password_Protected-56-hello.ppt";
|
||||
}
|
||||
private static POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
public void testLoadNonEncrypted() throws Exception {
|
||||
HSLFSlideShow hss = new HSLFSlideShow(ss_ne);
|
||||
HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
|
||||
assertNotNull(hss);
|
||||
}
|
||||
|
||||
public void testLoadEncrypted() throws Exception {
|
||||
try {
|
||||
new HSLFSlideShow(ss_e);
|
||||
new HSLFSlideShow(slTests.openResourceAsStream("Password_Protected-hello.ppt"));
|
||||
fail();
|
||||
} catch(EncryptedPowerPointFileException e) {
|
||||
// Good
|
||||
}
|
||||
|
||||
try {
|
||||
new HSLFSlideShow(ss_np_e);
|
||||
new HSLFSlideShow(slTests.openResourceAsStream("Password_Protected-np-hello.ppt"));
|
||||
fail();
|
||||
} catch(EncryptedPowerPointFileException e) {
|
||||
// Good
|
||||
}
|
||||
|
||||
try {
|
||||
new HSLFSlideShow(ss_56_e);
|
||||
new HSLFSlideShow(slTests.openResourceAsStream("Password_Protected-56-hello.ppt"));
|
||||
fail();
|
||||
} catch(EncryptedPowerPointFileException e) {
|
||||
// Good
|
||||
|
|
|
@ -19,10 +19,14 @@ package org.apache.poi.hslf;
|
|||
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import java.io.*;
|
||||
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.poifs.filesystem.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
|
||||
/**
|
||||
* Tests that HSLFSlideShow writes the powerpoint bit of data back out
|
||||
|
@ -41,21 +45,16 @@ public final class TestReWrite extends TestCase {
|
|||
private POIFSFileSystem pfsC;
|
||||
|
||||
public void setUp() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
|
||||
String filenameA = dirname + "/basic_test_ppt_file.ppt";
|
||||
FileInputStream fisA = new FileInputStream(filenameA);
|
||||
pfsA = new POIFSFileSystem(fisA);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
pfsA = new POIFSFileSystem(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
hssA = new HSLFSlideShow(pfsA);
|
||||
|
||||
String filenameB = dirname + "/ParagraphStylesShorterThanCharStyles.ppt";
|
||||
FileInputStream fisB = new FileInputStream(filenameB);
|
||||
pfsB = new POIFSFileSystem(fisB);
|
||||
pfsB = new POIFSFileSystem(slTests.openResourceAsStream("ParagraphStylesShorterThanCharStyles.ppt"));
|
||||
hssB = new HSLFSlideShow(pfsB);
|
||||
|
||||
String filenameC = dirname + "/WithMacros.ppt";
|
||||
FileInputStream fisC = new FileInputStream(filenameC);
|
||||
pfsC = new POIFSFileSystem(fisC);
|
||||
pfsC = new POIFSFileSystem(slTests.openResourceAsStream("WithMacros.ppt"));
|
||||
hssC = new HSLFSlideShow(pfsC);
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.*;
|
|||
import java.util.*;
|
||||
import org.apache.poi.hslf.record.*;
|
||||
import org.apache.poi.poifs.filesystem.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that HSLFSlideShow writes the powerpoint bit of data back out
|
||||
|
@ -37,10 +38,8 @@ public final class TestReWriteSanity extends TestCase {
|
|||
private POIFSFileSystem pfs;
|
||||
|
||||
public TestReWriteSanity() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
FileInputStream fis = new FileInputStream(filename);
|
||||
pfs = new POIFSFileSystem(fis);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
pfs = new POIFSFileSystem(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ss = new HSLFSlideShow(pfs);
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ package org.apache.poi.hslf;
|
|||
|
||||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hslf.record.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that HSLFSlideShow returns the right numbers of key records when
|
||||
|
@ -32,9 +33,8 @@ public final class TestRecordCounts extends TestCase {
|
|||
private HSLFSlideShow ss;
|
||||
|
||||
public TestRecordCounts() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
ss = new HSLFSlideShow(filename);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
ss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
}
|
||||
|
||||
public void testSheetsCount() {
|
||||
|
|
|
@ -21,6 +21,8 @@ package org.apache.poi.hslf.extractor;
|
|||
import junit.framework.TestCase;
|
||||
import java.util.Vector;
|
||||
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that the QuickButCruddyTextExtractor works correctly
|
||||
*
|
||||
|
@ -56,9 +58,8 @@ public final class TestCruddyExtractor extends TestCase {
|
|||
};
|
||||
|
||||
public TestCruddyExtractor() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
te = new QuickButCruddyTextExtractor(filename);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
te = new QuickButCruddyTextExtractor(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
}
|
||||
|
||||
public void testReadAsVector() {
|
||||
|
|
|
@ -28,6 +28,7 @@ import org.apache.poi.poifs.filesystem.DirectoryNode;
|
|||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.hwpf.HWPFDocument;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
|
@ -41,19 +42,15 @@ public final class TestExtractor extends TestCase {
|
|||
private PowerPointExtractor ppe;
|
||||
/** Extractor primed on the 1 page but text-box'd test data */
|
||||
private PowerPointExtractor ppe2;
|
||||
/** Where to go looking for our test files */
|
||||
private String dirname;
|
||||
/** Where our embeded files live */
|
||||
private String pdirname;
|
||||
//private String pdirname;
|
||||
private static POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
//private String pdirname;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
ppe = new PowerPointExtractor(filename);
|
||||
String filename2 = dirname + "/with_textbox.ppt";
|
||||
ppe2 = new PowerPointExtractor(filename2);
|
||||
|
||||
pdirname = System.getProperty("POIFS.testdata.path");
|
||||
|
||||
ppe = new PowerPointExtractor(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ppe2 = new PowerPointExtractor(slTests.openResourceAsStream("with_textbox.ppt"));
|
||||
}
|
||||
|
||||
public void testReadSheetText() {
|
||||
|
@ -114,8 +111,7 @@ public final class TestExtractor extends TestCase {
|
|||
* @throws Exception
|
||||
*/
|
||||
public void testMissingCoreRecords() throws Exception {
|
||||
String filename = dirname + "/missing_core_records.ppt";
|
||||
ppe = new PowerPointExtractor(filename);
|
||||
ppe = new PowerPointExtractor(slTests.openResourceAsStream("missing_core_records.ppt"));
|
||||
|
||||
String text = ppe.getText(true, false);
|
||||
String nText = ppe.getNotes();
|
||||
|
@ -141,72 +137,67 @@ public final class TestExtractor extends TestCase {
|
|||
}
|
||||
|
||||
public void testExtractFromEmbeded() throws Exception {
|
||||
String filename3 = pdirname + "/excel_with_embeded.xls";
|
||||
POIFSFileSystem fs = new POIFSFileSystem(
|
||||
new FileInputStream(filename3)
|
||||
);
|
||||
HSLFSlideShow ss;
|
||||
|
||||
DirectoryNode dirA = (DirectoryNode)
|
||||
fs.getRoot().getEntry("MBD0000A3B6");
|
||||
DirectoryNode dirB = (DirectoryNode)
|
||||
fs.getRoot().getEntry("MBD0000A3B3");
|
||||
|
||||
assertNotNull(dirA.getEntry("PowerPoint Document"));
|
||||
assertNotNull(dirB.getEntry("PowerPoint Document"));
|
||||
|
||||
// Check the first file
|
||||
ss = new HSLFSlideShow(dirA, fs);
|
||||
ppe = new PowerPointExtractor(ss);
|
||||
assertEquals("Sample PowerPoint file\nThis is the 1st file\nNot much too it\n",
|
||||
ppe.getText(true, false)
|
||||
);
|
||||
POIFSFileSystem fs = new POIFSFileSystem(
|
||||
POIDataSamples.getSpreadSheetInstance().openResourceAsStream("excel_with_embeded.xls")
|
||||
);
|
||||
HSLFSlideShow ss;
|
||||
|
||||
// And the second
|
||||
ss = new HSLFSlideShow(dirB, fs);
|
||||
ppe = new PowerPointExtractor(ss);
|
||||
assertEquals("Sample PowerPoint file\nThis is the 2nd file\nNot much too it either\n",
|
||||
ppe.getText(true, false)
|
||||
);
|
||||
}
|
||||
DirectoryNode dirA = (DirectoryNode)
|
||||
fs.getRoot().getEntry("MBD0000A3B6");
|
||||
DirectoryNode dirB = (DirectoryNode)
|
||||
fs.getRoot().getEntry("MBD0000A3B3");
|
||||
|
||||
/**
|
||||
* A powerpoint file with embeded powerpoint files
|
||||
*/
|
||||
public void testExtractFromOwnEmbeded() throws Exception {
|
||||
String path = pdirname + "/ppt_with_embeded.ppt";
|
||||
ppe = new PowerPointExtractor(path);
|
||||
List<OLEShape> shapes = ppe.getOLEShapes();
|
||||
assertEquals("Expected 6 ole shapes in " + path, 6, shapes.size());
|
||||
int num_ppt = 0, num_doc = 0, num_xls = 0;
|
||||
for(OLEShape ole : shapes) {
|
||||
String name = ole.getInstanceName();
|
||||
InputStream data = ole.getObjectData().getData();
|
||||
if ("Worksheet".equals(name)) {
|
||||
HSSFWorkbook wb = new HSSFWorkbook(data);
|
||||
num_xls++;
|
||||
} else if ("Document".equals(name)) {
|
||||
HWPFDocument doc = new HWPFDocument(data);
|
||||
num_doc++;
|
||||
} else if ("Presentation".equals(name)) {
|
||||
num_ppt++;
|
||||
SlideShow ppt = new SlideShow(data);
|
||||
}
|
||||
}
|
||||
assertEquals("Expected 2 embedded Word Documents", 2, num_doc);
|
||||
assertEquals("Expected 2 embedded Excel Spreadsheets", 2, num_xls);
|
||||
assertEquals("Expected 2 embedded PowerPoint Presentations", 2, num_ppt);
|
||||
}
|
||||
assertNotNull(dirA.getEntry("PowerPoint Document"));
|
||||
assertNotNull(dirB.getEntry("PowerPoint Document"));
|
||||
|
||||
// Check the first file
|
||||
ss = new HSLFSlideShow(dirA, fs);
|
||||
ppe = new PowerPointExtractor(ss);
|
||||
assertEquals("Sample PowerPoint file\nThis is the 1st file\nNot much too it\n",
|
||||
ppe.getText(true, false)
|
||||
);
|
||||
|
||||
// And the second
|
||||
ss = new HSLFSlideShow(dirB, fs);
|
||||
ppe = new PowerPointExtractor(ss);
|
||||
assertEquals("Sample PowerPoint file\nThis is the 2nd file\nNot much too it either\n",
|
||||
ppe.getText(true, false)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* A powerpoint file with embeded powerpoint files
|
||||
*/
|
||||
public void testExtractFromOwnEmbeded() throws Exception {
|
||||
String path = "ppt_with_embeded.ppt";
|
||||
ppe = new PowerPointExtractor(POIDataSamples.getSlideShowInstance().openResourceAsStream(path));
|
||||
List<OLEShape> shapes = ppe.getOLEShapes();
|
||||
assertEquals("Expected 6 ole shapes in " + path, 6, shapes.size());
|
||||
int num_ppt = 0, num_doc = 0, num_xls = 0;
|
||||
for(OLEShape ole : shapes) {
|
||||
String name = ole.getInstanceName();
|
||||
InputStream data = ole.getObjectData().getData();
|
||||
if ("Worksheet".equals(name)) {
|
||||
HSSFWorkbook wb = new HSSFWorkbook(data);
|
||||
num_xls++;
|
||||
} else if ("Document".equals(name)) {
|
||||
HWPFDocument doc = new HWPFDocument(data);
|
||||
num_doc++;
|
||||
} else if ("Presentation".equals(name)) {
|
||||
num_ppt++;
|
||||
SlideShow ppt = new SlideShow(data);
|
||||
}
|
||||
}
|
||||
assertEquals("Expected 2 embedded Word Documents", 2, num_doc);
|
||||
assertEquals("Expected 2 embedded Excel Spreadsheets", 2, num_xls);
|
||||
assertEquals("Expected 2 embedded PowerPoint Presentations", 2, num_ppt);
|
||||
}
|
||||
|
||||
/**
|
||||
* From bug #45543
|
||||
*/
|
||||
public void testWithComments() throws Exception {
|
||||
String filename;
|
||||
|
||||
// New file
|
||||
filename = dirname + "/WithComments.ppt";
|
||||
ppe = new PowerPointExtractor(filename);
|
||||
ppe = new PowerPointExtractor(slTests.openResourceAsStream("WithComments.ppt"));
|
||||
|
||||
String text = ppe.getText();
|
||||
assertFalse("Comments not in by default", contains(text, "This is a test comment"));
|
||||
|
@ -218,8 +209,7 @@ public final class TestExtractor extends TestCase {
|
|||
|
||||
|
||||
// And another file
|
||||
filename = dirname + "/45543.ppt";
|
||||
ppe = new PowerPointExtractor(filename);
|
||||
ppe = new PowerPointExtractor(slTests.openResourceAsStream("45543.ppt"));
|
||||
|
||||
text = ppe.getText();
|
||||
assertFalse("Comments not in by default", contains(text, "testdoc"));
|
||||
|
@ -234,11 +224,10 @@ public final class TestExtractor extends TestCase {
|
|||
* From bug #45537
|
||||
*/
|
||||
public void testHeaderFooter() throws Exception {
|
||||
String filename, text;
|
||||
|
||||
String text;
|
||||
|
||||
// With a header on the notes
|
||||
filename = dirname + "/45537_Header.ppt";
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(new FileInputStream(filename));
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(slTests.openResourceAsStream("45537_Header.ppt"));
|
||||
SlideShow ss = new SlideShow(hslf);
|
||||
assertNotNull(ss.getNotesHeadersFooters());
|
||||
assertEquals("testdoc test phrase", ss.getNotesHeadersFooters().getHeaderText());
|
||||
|
@ -256,13 +245,12 @@ public final class TestExtractor extends TestCase {
|
|||
|
||||
|
||||
// And with a footer, also on notes
|
||||
filename = dirname + "/45537_Footer.ppt";
|
||||
hslf = new HSLFSlideShow(new FileInputStream(filename));
|
||||
hslf = new HSLFSlideShow(slTests.openResourceAsStream("45537_Footer.ppt"));
|
||||
ss = new SlideShow(hslf);
|
||||
assertNotNull(ss.getNotesHeadersFooters());
|
||||
assertEquals("testdoc test phrase", ss.getNotesHeadersFooters().getFooterText());
|
||||
|
||||
ppe = new PowerPointExtractor(filename);
|
||||
ppe = new PowerPointExtractor(slTests.openResourceAsStream("45537_Footer.ppt"));
|
||||
|
||||
text = ppe.getText();
|
||||
assertFalse("Unable to find expected word in text\n" + text, contains(text, "testdoc"));
|
||||
|
|
|
@ -24,6 +24,7 @@ import java.awt.*;
|
|||
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Test <code>Fill</code> object.
|
||||
|
@ -31,6 +32,7 @@ import org.apache.poi.hslf.HSLFSlideShow;
|
|||
* @author Yegor Kozlov
|
||||
*/
|
||||
public final class TestBackground extends TestCase {
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
/**
|
||||
* Default background for slide, shape and slide master.
|
||||
|
@ -52,7 +54,7 @@ public final class TestBackground extends TestCase {
|
|||
* Read fill information from an reference ppt file
|
||||
*/
|
||||
public void testReadBackground() throws Exception {
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(System.getProperty("HSLF.testdata.path") + "/backgrounds.ppt"));
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("backgrounds.ppt"));
|
||||
Fill fill;
|
||||
Shape shape;
|
||||
|
||||
|
@ -93,7 +95,7 @@ public final class TestBackground extends TestCase {
|
|||
slide = ppt.createSlide();
|
||||
slide.setFollowMasterBackground(false);
|
||||
fill = slide.getBackground().getFill();
|
||||
idx = ppt.addPicture(new File(System.getProperty("HSLF.testdata.path") + "/tomcat.png"), Picture.PNG);
|
||||
idx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
|
||||
fill.setFillType(Fill.FILL_PICTURE);
|
||||
fill.setPictureData(idx);
|
||||
|
||||
|
@ -107,7 +109,7 @@ public final class TestBackground extends TestCase {
|
|||
slide = ppt.createSlide();
|
||||
slide.setFollowMasterBackground(false);
|
||||
fill = slide.getBackground().getFill();
|
||||
idx = ppt.addPicture(new File(System.getProperty("HSLF.testdata.path") + "/tomcat.png"), Picture.PNG);
|
||||
idx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
|
||||
fill.setFillType(Fill.FILL_PATTERN);
|
||||
fill.setPictureData(idx);
|
||||
fill.setBackgroundColor(Color.green);
|
||||
|
@ -123,7 +125,7 @@ public final class TestBackground extends TestCase {
|
|||
slide = ppt.createSlide();
|
||||
slide.setFollowMasterBackground(false);
|
||||
fill = slide.getBackground().getFill();
|
||||
idx = ppt.addPicture(new File(System.getProperty("HSLF.testdata.path") + "/tomcat.png"), Picture.PNG);
|
||||
idx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
|
||||
fill.setFillType(Fill.FILL_TEXTURE);
|
||||
fill.setPictureData(idx);
|
||||
|
||||
|
@ -131,7 +133,7 @@ public final class TestBackground extends TestCase {
|
|||
shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
|
||||
fill = shape.getFill();
|
||||
fill.setFillType(Fill.FILL_PICTURE);
|
||||
idx = ppt.addPicture(new File(System.getProperty("HSLF.testdata.path") + "/clock.jpg"), Picture.JPEG);
|
||||
idx = ppt.addPicture(_slTests.readFile("clock.jpg"), Picture.JPEG);
|
||||
fill.setPictureData(idx);
|
||||
slide.addShape(shape);
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ package org.apache.poi.hslf.model;
|
|||
|
||||
import java.io.*;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
|
@ -28,14 +29,11 @@ import junit.framework.TestCase;
|
|||
public final class TestHeadersFooters extends TestCase
|
||||
{
|
||||
|
||||
public static final String cwd = System.getProperty("HSLF.testdata.path");
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
public void testRead() throws Exception
|
||||
{
|
||||
File file = new File(cwd, "headers_footers.ppt");
|
||||
FileInputStream is = new FileInputStream(file);
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("headers_footers.ppt"));
|
||||
|
||||
HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
|
||||
assertTrue(slideHdd.isFooterVisible());
|
||||
|
@ -79,10 +77,7 @@ public final class TestHeadersFooters extends TestCase
|
|||
*/
|
||||
public void testReadNoHeadersFooters() throws Exception
|
||||
{
|
||||
File file = new File(cwd, "basic_test_ppt_file.ppt");
|
||||
FileInputStream is = new FileInputStream(file);
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
|
||||
HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
|
||||
assertFalse(slideHdd.isFooterVisible());
|
||||
|
@ -119,10 +114,7 @@ public final class TestHeadersFooters extends TestCase
|
|||
*/
|
||||
public void testRead2007() throws Exception
|
||||
{
|
||||
File file = new File(cwd, "headers_footers_2007.ppt");
|
||||
FileInputStream is = new FileInputStream(file);
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("headers_footers_2007.ppt"));
|
||||
|
||||
HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
|
||||
assertTrue(slideHdd.isFooterVisible());
|
||||
|
|
|
@ -19,10 +19,8 @@ package org.apache.poi.hslf.model;
|
|||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Test Hyperlink.
|
||||
|
@ -30,12 +28,10 @@ import org.apache.poi.hslf.usermodel.SlideShow;
|
|||
* @author Yegor Kozlov
|
||||
*/
|
||||
public final class TestHyperlink extends TestCase {
|
||||
protected String cwd = System.getProperty("HSLF.testdata.path");
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
public void testTextRunHyperlinks() throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "WithLinks.ppt"));
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("WithLinks.ppt"));
|
||||
|
||||
TextRun[] run;
|
||||
Slide slide;
|
||||
|
|
|
@ -20,11 +20,11 @@ package org.apache.poi.hslf.model;
|
|||
import java.awt.geom.Rectangle2D;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Test <code>MovieShape</code> object.
|
||||
|
@ -33,16 +33,16 @@ import org.apache.poi.hslf.usermodel.SlideShow;
|
|||
*/
|
||||
public final class TestMovieShape extends TestCase {
|
||||
|
||||
protected String cwd = System.getProperty("HSLF.testdata.path");
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
public void testCreate() throws Exception {
|
||||
SlideShow ppt = new SlideShow();
|
||||
|
||||
Slide slide = ppt.createSlide();
|
||||
|
||||
String path = cwd + "/test-movie.mpg";
|
||||
String path = "/test-movie.mpg";
|
||||
int movieIdx = ppt.addMovie(path, MovieShape.MOVIE_MPEG);
|
||||
int thumbnailIdx = ppt.addPicture(new File(cwd, "tomcat.png"), Picture.PNG);
|
||||
int thumbnailIdx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
|
||||
|
||||
MovieShape shape = new MovieShape(movieIdx, thumbnailIdx);
|
||||
shape.setAnchor(new Rectangle2D.Float(300,225,120,90));
|
||||
|
|
|
@ -17,9 +17,6 @@
|
|||
|
||||
package org.apache.poi.hslf.model;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
|
@ -29,17 +26,17 @@ import org.apache.poi.hslf.usermodel.SlideShow;
|
|||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.hwpf.HWPFDocument;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
public final class TestOleEmbedding extends TestCase {
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
/**
|
||||
* Tests support for OLE objects.
|
||||
*
|
||||
* @throws Exception if an error occurs.
|
||||
*/
|
||||
public void testOleEmbedding2003() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
File file = new File(dirname, "ole2-embedding-2003.ppt");
|
||||
HSLFSlideShow slideShow = new HSLFSlideShow(new FileInputStream(file));
|
||||
HSLFSlideShow slideShow = new HSLFSlideShow(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
|
||||
// Placeholder EMFs for clients that don't support the OLE components.
|
||||
PictureData[] pictures = slideShow.getPictures();
|
||||
assertEquals("Should be two pictures", 2, pictures.length);
|
||||
|
@ -54,11 +51,7 @@ public final class TestOleEmbedding extends TestCase {
|
|||
}
|
||||
|
||||
public void testOLEShape() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
File file = new File(dirname, "ole2-embedding-2003.ppt");
|
||||
FileInputStream is = new FileInputStream(file);
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
|
||||
|
||||
Slide slide = ppt.getSlides()[0];
|
||||
Shape[] sh = slide.getShapes();
|
||||
|
|
|
@ -20,6 +20,7 @@ package org.apache.poi.hslf.model;
|
|||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.Rectangle;
|
||||
|
@ -32,12 +33,11 @@ import java.io.ByteArrayInputStream;
|
|||
* @author Yegor Kozlov
|
||||
*/
|
||||
public final class TestPPGraphics2D extends TestCase {
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
private SlideShow ppt;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/empty.ppt";
|
||||
ppt = new SlideShow(new HSLFSlideShow(filename));
|
||||
ppt = new SlideShow(_slTests.openResourceAsStream("empty.ppt"));
|
||||
}
|
||||
|
||||
public void testGraphics() throws Exception {
|
||||
|
|
|
@ -20,13 +20,13 @@ package org.apache.poi.hslf.model;
|
|||
import java.awt.Graphics2D;
|
||||
import java.awt.Rectangle;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.ddf.EscherBSERecord;
|
||||
import org.apache.poi.hslf.usermodel.PictureData;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Test Picture shape.
|
||||
|
@ -34,6 +34,7 @@ import org.apache.poi.hslf.usermodel.SlideShow;
|
|||
* @author Yegor Kozlov
|
||||
*/
|
||||
public final class TestPicture extends TestCase {
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
/**
|
||||
* Test that the reference count of a blip is incremented every time the picture is inserted.
|
||||
|
@ -41,14 +42,13 @@ public final class TestPicture extends TestCase {
|
|||
*
|
||||
*/
|
||||
public void testMultiplePictures() throws Exception {
|
||||
String cwd = System.getProperty("HSLF.testdata.path");
|
||||
SlideShow ppt = new SlideShow();
|
||||
|
||||
Slide s = ppt.createSlide();
|
||||
Slide s2 = ppt.createSlide();
|
||||
Slide s3 = ppt.createSlide();
|
||||
|
||||
int idx = ppt.addPicture(new File(cwd, "clock.jpg"), Picture.JPEG);
|
||||
int idx = ppt.addPicture(_slTests.readFile("clock.jpg"), Picture.JPEG);
|
||||
Picture pict = new Picture(idx);
|
||||
Picture pict2 = new Picture(idx);
|
||||
Picture pict3 = new Picture(idx);
|
||||
|
|
|
@ -36,10 +36,6 @@ public final class TestSetBoldItalic extends TestCase {
|
|||
* and set some of the style attributes
|
||||
*/
|
||||
public void testTextBoxWrite() throws Exception {
|
||||
//String dirname = System.getProperty("HSLF.testdata.path");
|
||||
//String filename = dirname + "/with_textbox.ppt";
|
||||
//new SlideShow(new HSLFSlideShow(filename));
|
||||
|
||||
SlideShow ppt = new SlideShow();
|
||||
Slide sl = ppt.createSlide();
|
||||
RichTextRun rt;
|
||||
|
|
|
@ -22,12 +22,12 @@ import org.apache.poi.hslf.usermodel.SlideShow;
|
|||
import org.apache.poi.hslf.usermodel.RichTextRun;
|
||||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
import org.apache.poi.ddf.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.Rectangle;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
@ -37,16 +37,15 @@ import java.util.ArrayList;
|
|||
* @author Yegor Kozlov
|
||||
*/
|
||||
public final class TestShapes extends TestCase {
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
private SlideShow ppt;
|
||||
private SlideShow pptB;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/empty.ppt";
|
||||
ppt = new SlideShow(new HSLFSlideShow(filename));
|
||||
ppt = new SlideShow(_slTests.openResourceAsStream("empty.ppt"));
|
||||
|
||||
String filenameB = dirname + "/empty_textbox.ppt";
|
||||
pptB = new SlideShow(new HSLFSlideShow(filenameB));
|
||||
pptB = new SlideShow(_slTests.openResourceAsStream("empty_textbox.ppt"));
|
||||
}
|
||||
|
||||
public void testGraphics() throws Exception {
|
||||
|
@ -94,9 +93,7 @@ public final class TestShapes extends TestCase {
|
|||
* @throws Exception
|
||||
*/
|
||||
public void testTextBoxRead() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/with_textbox.ppt";
|
||||
ppt = new SlideShow(new HSLFSlideShow(filename));
|
||||
ppt = new SlideShow(_slTests.openResourceAsStream("with_textbox.ppt"));
|
||||
Slide sl = ppt.getSlides()[0];
|
||||
Shape[] sh = sl.getShapes();
|
||||
for (int i = 0; i < sh.length; i++) {
|
||||
|
@ -198,17 +195,16 @@ public final class TestShapes extends TestCase {
|
|||
* it must be the same as returned by Slide.getTextRuns().
|
||||
*/
|
||||
public void testTextBoxSet() throws Exception {
|
||||
textBoxSet("/with_textbox.ppt");
|
||||
textBoxSet("/basic_test_ppt_file.ppt");
|
||||
textBoxSet("/next_test_ppt_file.ppt");
|
||||
textBoxSet("/Single_Coloured_Page.ppt");
|
||||
textBoxSet("/Single_Coloured_Page_With_Fonts_and_Alignments.ppt");
|
||||
textBoxSet("/incorrect_slide_order.ppt");
|
||||
textBoxSet("with_textbox.ppt");
|
||||
textBoxSet("basic_test_ppt_file.ppt");
|
||||
textBoxSet("next_test_ppt_file.ppt");
|
||||
textBoxSet("Single_Coloured_Page.ppt");
|
||||
textBoxSet("Single_Coloured_Page_With_Fonts_and_Alignments.ppt");
|
||||
textBoxSet("incorrect_slide_order.ppt");
|
||||
}
|
||||
|
||||
private void textBoxSet(String filename) throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(dirname + filename));
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream(filename));
|
||||
Slide[] sl = ppt.getSlides();
|
||||
for (int k = 0; k < sl.length; k++) {
|
||||
ArrayList lst1 = new ArrayList();
|
||||
|
@ -234,7 +230,6 @@ public final class TestShapes extends TestCase {
|
|||
* Test adding shapes to <code>ShapeGroup</code>
|
||||
*/
|
||||
public void testShapeGroup() throws Exception {
|
||||
String cwd = System.getProperty("HSLF.testdata.path");
|
||||
SlideShow ppt = new SlideShow();
|
||||
|
||||
Slide slide = ppt.createSlide();
|
||||
|
@ -245,8 +240,7 @@ public final class TestShapes extends TestCase {
|
|||
group.setAnchor(new Rectangle(0, 0, (int)pgsize.getWidth(), (int)pgsize.getHeight()));
|
||||
slide.addShape(group);
|
||||
|
||||
File img = new File(cwd, "clock.jpg");
|
||||
int idx = ppt.addPicture(img, Picture.JPEG);
|
||||
int idx = ppt.addPicture(_slTests.readFile("clock.jpg"), Picture.JPEG);
|
||||
Picture pict = new Picture(idx, group);
|
||||
pict.setAnchor(new Rectangle(0, 0, 200, 200));
|
||||
group.addShape(pict);
|
||||
|
@ -287,8 +281,8 @@ public final class TestShapes extends TestCase {
|
|||
* Test functionality of Sheet.removeShape(Shape shape)
|
||||
*/
|
||||
public void testRemoveShapes() throws IOException {
|
||||
String file = System.getProperty("HSLF.testdata.path")+ "/with_textbox.ppt";
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(file));
|
||||
String file = "with_textbox.ppt";
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream(file));
|
||||
Slide sl = ppt.getSlides()[0];
|
||||
Shape[] sh = sl.getShapes();
|
||||
assertEquals("expected four shaped in " + file, 4, sh.length);
|
||||
|
|
|
@ -20,14 +20,11 @@ package org.apache.poi.hslf.model;
|
|||
import junit.framework.AssertionFailedError;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
|
||||
import org.apache.poi.hslf.record.ColorSchemeAtom;
|
||||
import org.apache.poi.hslf.record.PPDrawing;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Test common functionality of the <code>Sheet</code> object.
|
||||
|
@ -36,23 +33,16 @@ import org.apache.poi.hslf.usermodel.SlideShow;
|
|||
* @author Yegor Kozlov
|
||||
*/
|
||||
public final class TestSheet extends TestCase {
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
/**
|
||||
* For each ppt in the test directory check that all sheets are properly initialized
|
||||
*/
|
||||
public void testSheet() throws Exception {
|
||||
File home = new File(System.getProperty("HSLF.testdata.path"));
|
||||
File[] files = home.listFiles();
|
||||
for (int i = 0; i < files.length; i++) {
|
||||
if(!files[i].getName().endsWith(".ppt")) continue;
|
||||
if(files[i].getName().endsWith("PPT95.ppt")) continue;
|
||||
|
||||
String[] tests = {"SampleShow.ppt", "backgrounds.ppt", "text_shapes.ppt", "pictures.ppt"};
|
||||
for (String file : tests) {
|
||||
try {
|
||||
FileInputStream is = new FileInputStream(files[i]);
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(is);
|
||||
is.close();
|
||||
|
||||
SlideShow ppt = new SlideShow(hslf);
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream(file));
|
||||
doSlideShow(ppt);
|
||||
} catch (EncryptedPowerPointFileException e){
|
||||
; //skip encrypted ppt
|
||||
|
|
|
@ -23,6 +23,7 @@ import junit.framework.TestCase;
|
|||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
import org.apache.poi.hslf.record.SlideAtom;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that changing a slide's idea of what notes sheet is its works right
|
||||
|
@ -34,9 +35,8 @@ public final class TestSlideChangeNotes extends TestCase {
|
|||
private SlideShow ss;
|
||||
|
||||
public TestSlideChangeNotes() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
HSLFSlideShow hss = new HSLFSlideShow(filename);
|
||||
POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
HSLFSlideShow hss = new HSLFSlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ss = new SlideShow(hss);
|
||||
}
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@ import org.apache.poi.hslf.record.Environment;
|
|||
import org.apache.poi.hslf.record.TextHeaderAtom;
|
||||
import org.apache.poi.hslf.usermodel.RichTextRun;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests for SlideMaster
|
||||
|
@ -35,18 +36,14 @@ import org.apache.poi.hslf.usermodel.SlideShow;
|
|||
* @author Yegor Kozlov
|
||||
*/
|
||||
public final class TestSlideMaster extends TestCase{
|
||||
String home;
|
||||
|
||||
public void setUp() {
|
||||
home = System.getProperty("HSLF.testdata.path");
|
||||
}
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
/**
|
||||
* The reference ppt has two masters.
|
||||
* Check we can read their attributes.
|
||||
*/
|
||||
public void testSlideMaster() throws Exception {
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(home + "/slide_master.ppt"));
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
|
||||
|
||||
Environment env = ppt.getDocumentRecord().getEnvironment();
|
||||
|
||||
|
@ -86,7 +83,7 @@ public final class TestSlideMaster extends TestCase{
|
|||
* Test we can read default text attributes for a title master sheet
|
||||
*/
|
||||
public void testTitleMasterTextAttributes() throws Exception {
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(home + "/slide_master.ppt"));
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
|
||||
TitleMaster[] master = ppt.getTitleMasters();
|
||||
assertEquals(1, master.length);
|
||||
|
||||
|
@ -107,7 +104,7 @@ public final class TestSlideMaster extends TestCase{
|
|||
* Slide 3 has title layout and follows the TitleMaster. Verify that.
|
||||
*/
|
||||
public void testTitleMaster() throws Exception {
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(home + "/slide_master.ppt"));
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
|
||||
Slide slide = ppt.getSlides()[2];
|
||||
MasterSheet masterSheet = slide.getMasterSheet();
|
||||
assertTrue(masterSheet instanceof TitleMaster);
|
||||
|
@ -136,7 +133,7 @@ public final class TestSlideMaster extends TestCase{
|
|||
* If a style attribute is not set ensure it is read from the master
|
||||
*/
|
||||
public void testMasterAttributes() throws Exception {
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(home + "/slide_master.ppt"));
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
|
||||
Slide[] slide = ppt.getSlides();
|
||||
assertEquals(3, slide.length);
|
||||
TextRun[] trun;
|
||||
|
@ -185,7 +182,7 @@ public final class TestSlideMaster extends TestCase{
|
|||
* Check we can dynamically assign a slide master to a slide.
|
||||
*/
|
||||
public void testChangeSlideMaster() throws Exception {
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(home + "/slide_master.ppt"));
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
|
||||
SlideMaster[] master = ppt.getSlidesMasters();
|
||||
Slide[] slide = ppt.getSlides();
|
||||
int sheetNo;
|
||||
|
@ -219,7 +216,7 @@ public final class TestSlideMaster extends TestCase{
|
|||
* (typical for the "bullted body" placeholder)
|
||||
*/
|
||||
public void testIndentation() throws Exception {
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(home + "/slide_master.ppt"));
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
|
||||
Slide slide = ppt.getSlides()[0];
|
||||
TextRun[] trun;
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ package org.apache.poi.hslf.model;
|
|||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.ByteArrayInputStream;
|
||||
|
@ -137,8 +138,8 @@ public final class TestSlides extends TestCase {
|
|||
* Add slides to ppt which already has two slides
|
||||
*/
|
||||
public void testAddSlides2to3() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(dirname + "/basic_test_ppt_file.ppt"));
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
SlideShow ppt = new SlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
|
||||
assertTrue(ppt.getSlides().length == 2);
|
||||
|
||||
|
|
|
@ -22,13 +22,13 @@ import java.io.IOException;
|
|||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
import org.apache.poi.hslf.model.textproperties.TextPropCollection;
|
||||
import org.apache.poi.hslf.record.TextBytesAtom;
|
||||
import org.apache.poi.hslf.record.TextCharsAtom;
|
||||
import org.apache.poi.hslf.record.TextHeaderAtom;
|
||||
import org.apache.poi.hslf.usermodel.RichTextRun;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests for TextRuns
|
||||
|
@ -36,32 +36,19 @@ import org.apache.poi.hslf.usermodel.SlideShow;
|
|||
* @author Nick Burch (nick at torchbox dot com)
|
||||
*/
|
||||
public final class TestTextRun extends TestCase {
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
// SlideShow primed on the test data
|
||||
private SlideShow ss;
|
||||
private SlideShow ssRich;
|
||||
|
||||
// TODO - use this or similar through rest of hslf tests
|
||||
private static SlideShow openSampleSlideShow(String name) {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
protected void setUp() throws IOException {
|
||||
|
||||
// Basic (non rich) test file
|
||||
String filename = dirname + "/" + name;
|
||||
HSLFSlideShow x;
|
||||
try {
|
||||
x = new HSLFSlideShow(filename);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return new SlideShow(x);
|
||||
}
|
||||
|
||||
protected void setUp() {
|
||||
|
||||
// Basic (non rich) test file
|
||||
ss = openSampleSlideShow("basic_test_ppt_file.ppt");
|
||||
ss = new SlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
|
||||
// Rich test file
|
||||
ssRich = openSampleSlideShow("Single_Coloured_Page.ppt");
|
||||
ssRich = new SlideShow(_slTests.openResourceAsStream("Single_Coloured_Page.ppt"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -429,10 +416,10 @@ public final class TestTextRun extends TestCase {
|
|||
* of the wrong list of potential paragraph properties defined in StyleTextPropAtom.
|
||||
*
|
||||
*/
|
||||
public void testBug41015() {
|
||||
public void testBug41015() throws IOException {
|
||||
RichTextRun[] rt;
|
||||
|
||||
SlideShow ppt = openSampleSlideShow("bug-41015.ppt");
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("bug-41015.ppt"));
|
||||
Slide sl = ppt.getSlides()[0];
|
||||
TextRun[] txt = sl.getTextRuns();
|
||||
assertEquals(2, txt.length);
|
||||
|
|
|
@ -25,6 +25,7 @@ import org.apache.poi.hslf.HSLFSlideShow;
|
|||
import org.apache.poi.hslf.usermodel.RichTextRun;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.poifs.filesystem.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that if we load something up, get a TextRun, set the text
|
||||
|
@ -45,10 +46,9 @@ public final class TestTextRunReWrite extends TestCase {
|
|||
* Load up a test PPT file with rich data
|
||||
*/
|
||||
public void setUp() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/Single_Coloured_Page_With_Fonts_and_Alignments.ppt";
|
||||
FileInputStream fis = new FileInputStream(filename);
|
||||
pfs = new POIFSFileSystem(fis);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
String filename = "Single_Coloured_Page_With_Fonts_and_Alignments.ppt";
|
||||
pfs = new POIFSFileSystem(slTests.openResourceAsStream(filename));
|
||||
hss = new HSLFSlideShow(pfs);
|
||||
ss = new SlideShow(hss);
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ import java.util.HashMap;
|
|||
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.hslf.record.TextHeaderAtom;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Verify behavior of <code>TextShape</code> and its sub-classes
|
||||
|
@ -32,7 +33,7 @@ import org.apache.poi.hslf.record.TextHeaderAtom;
|
|||
* @author Yegor Kozlov
|
||||
*/
|
||||
public final class TestTextShape extends TestCase {
|
||||
protected String cwd = System.getProperty("HSLF.testdata.path");
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
public void testCreateAutoShape(){
|
||||
TextShape shape = new AutoShape(ShapeTypes.Trapezoid);
|
||||
|
@ -70,9 +71,7 @@ public final class TestTextShape extends TestCase {
|
|||
* - text in auto-shapes
|
||||
*/
|
||||
public void testRead() throws IOException {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "text_shapes.ppt"));
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("text_shapes.ppt"));
|
||||
|
||||
ArrayList lst1 = new ArrayList();
|
||||
Slide slide = ppt.getSlides()[0];
|
||||
|
@ -157,9 +156,7 @@ public final class TestTextShape extends TestCase {
|
|||
}
|
||||
|
||||
public void testMargins() throws IOException {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "text-margins.ppt"));
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("text-margins.ppt"));
|
||||
|
||||
Slide slide = ppt.getSlides()[0];
|
||||
|
||||
|
|
|
@ -20,12 +20,12 @@ package org.apache.poi.hslf.record;
|
|||
|
||||
import junit.framework.TestCase;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
|
||||
import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
|
||||
import org.apache.poi.poifs.filesystem.DocumentEntry;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that CurrentUserAtom works properly.
|
||||
|
@ -33,6 +33,7 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
|||
* @author Nick Burch (nick at torchbox dot com)
|
||||
*/
|
||||
public final class TestCurrentUserAtom extends TestCase {
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
/** Not encrypted */
|
||||
private String normalFile;
|
||||
/** Encrypted */
|
||||
|
@ -41,14 +42,13 @@ public final class TestCurrentUserAtom extends TestCase {
|
|||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
normalFile = dirname + "/basic_test_ppt_file.ppt";
|
||||
encFile = dirname + "/Password_Protected-hello.ppt";
|
||||
normalFile = "basic_test_ppt_file.ppt";
|
||||
encFile = "Password_Protected-hello.ppt";
|
||||
}
|
||||
|
||||
public void testReadNormal() throws Exception {
|
||||
POIFSFileSystem fs = new POIFSFileSystem(
|
||||
new FileInputStream(normalFile)
|
||||
_slTests.openResourceAsStream(normalFile)
|
||||
);
|
||||
|
||||
CurrentUserAtom cu = new CurrentUserAtom(fs);
|
||||
|
@ -68,7 +68,7 @@ public final class TestCurrentUserAtom extends TestCase {
|
|||
|
||||
public void testReadEnc() throws Exception {
|
||||
POIFSFileSystem fs = new POIFSFileSystem(
|
||||
new FileInputStream(encFile)
|
||||
_slTests.openResourceAsStream(encFile)
|
||||
);
|
||||
|
||||
try {
|
||||
|
@ -82,7 +82,7 @@ public final class TestCurrentUserAtom extends TestCase {
|
|||
public void testWriteNormal() throws Exception {
|
||||
// Get raw contents from a known file
|
||||
POIFSFileSystem fs = new POIFSFileSystem(
|
||||
new FileInputStream(normalFile)
|
||||
_slTests.openResourceAsStream(normalFile)
|
||||
);
|
||||
DocumentEntry docProps = (DocumentEntry)fs.getRoot().getEntry("Current User");
|
||||
byte[] contents = new byte[docProps.getSize()];
|
||||
|
|
|
@ -18,10 +18,10 @@
|
|||
package org.apache.poi.hslf.record;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import java.io.*;
|
||||
|
||||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
import org.apache.poi.poifs.filesystem.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that Document works properly (Also tests Environment while we're at it)
|
||||
|
@ -35,10 +35,8 @@ public final class TestDocument extends TestCase {
|
|||
private POIFSFileSystem pfs;
|
||||
|
||||
public TestDocument() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
FileInputStream fis = new FileInputStream(filename);
|
||||
pfs = new POIFSFileSystem(fis);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
pfs = new POIFSFileSystem(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ss = new HSLFSlideShow(pfs);
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,6 @@ package org.apache.poi.hslf.record;
|
|||
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -28,6 +27,7 @@ import junit.framework.TestCase;
|
|||
|
||||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that ExHyperlink works properly.
|
||||
|
@ -98,8 +98,8 @@ public final class TestExHyperlink extends TestCase {
|
|||
}
|
||||
|
||||
public void testRealFile() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
HSLFSlideShow hss = new HSLFSlideShow(dirname + File.separator + "WithLinks.ppt");
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("WithLinks.ppt"));
|
||||
SlideShow ss = new SlideShow(hss);
|
||||
|
||||
// Get the document
|
||||
|
|
|
@ -18,12 +18,11 @@
|
|||
package org.apache.poi.hslf.record;
|
||||
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that ExObjList works properly.
|
||||
|
@ -32,8 +31,8 @@ import org.apache.poi.hslf.usermodel.SlideShow;
|
|||
*/
|
||||
public class TestExObjList extends TestCase {
|
||||
public void testRealFile() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
HSLFSlideShow hss = new HSLFSlideShow(dirname + File.separator + "WithLinks.ppt");
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("WithLinks.ppt"));
|
||||
SlideShow ss = new SlideShow(hss);
|
||||
|
||||
// Get the document
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.apache.poi.hslf.record;
|
|||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.hslf.HSLFSlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that the helper methods on RecordContainer work properly
|
||||
|
@ -147,9 +148,8 @@ public final class TestRecordContainer extends TestCase {
|
|||
super.setUp();
|
||||
|
||||
// Find a real RecordContainer record
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
HSLFSlideShow hss = new HSLFSlideShow(filename);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
|
||||
Record[] r = hss.getRecords();
|
||||
for(int i=0; i<r.length; i++) {
|
||||
|
|
|
@ -17,14 +17,13 @@
|
|||
|
||||
package org.apache.poi.hslf.record;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.util.Arrays;
|
||||
|
||||
import junit.framework.AssertionFailedError;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests Sound-related records: SoundCollection(2020), Sound(2022) and
|
||||
|
@ -34,10 +33,9 @@ import org.apache.poi.hslf.usermodel.SlideShow;
|
|||
*/
|
||||
public final class TestSound extends TestCase {
|
||||
public void testRealFile() throws Exception {
|
||||
String cwd = System.getProperty("HSLF.testdata.path");
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "sound.ppt"));
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
SlideShow ppt = new SlideShow(slTests.openResourceAsStream("sound.ppt"));
|
||||
|
||||
// Get the document
|
||||
Document doc = ppt.getDocumentRecord();
|
||||
|
@ -71,13 +69,7 @@ public final class TestSound extends TestCase {
|
|||
assertEquals(".WAV", sound.getSoundType());
|
||||
assertNotNull(sound.getSoundData());
|
||||
|
||||
File f = new File(cwd, "ringin.wav");
|
||||
int length = (int) f.length();
|
||||
byte[] ref_data = new byte[length];
|
||||
is = new FileInputStream(f);
|
||||
is.read(ref_data);
|
||||
is.close();
|
||||
|
||||
byte[] ref_data = slTests.readFile("ringin.wav");
|
||||
assertTrue(Arrays.equals(ref_data, sound.getSoundData()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ import org.apache.poi.hslf.record.RecordTypes;
|
|||
import org.apache.poi.hslf.record.UserEditAtom;
|
||||
import org.apache.poi.hslf.record.Document;
|
||||
import org.apache.poi.hslf.model.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that SlideShow adds additional sheets properly
|
||||
|
@ -56,14 +57,12 @@ public final class TestAddingSlides extends TestCase {
|
|||
hss_empty = HSLFSlideShow.create();
|
||||
ss_empty = new SlideShow(hss_empty);
|
||||
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
String filename = dirname + "/Single_Coloured_Page.ppt";
|
||||
hss_one = new HSLFSlideShow(filename);
|
||||
hss_one = new HSLFSlideShow(slTests.openResourceAsStream("Single_Coloured_Page.ppt"));
|
||||
ss_one = new SlideShow(hss_one);
|
||||
|
||||
filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
hss_two = new HSLFSlideShow(filename);
|
||||
hss_two = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ss_two = new SlideShow(hss_two);
|
||||
}
|
||||
|
||||
|
@ -274,8 +273,8 @@ public final class TestAddingSlides extends TestCase {
|
|||
|
||||
|
||||
public void test47261() throws Exception {
|
||||
File src = new File(System.getProperty("HSLF.testdata.path"), "47261.ppt");
|
||||
SlideShow ppt = new SlideShow(new FileInputStream(src));
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
SlideShow ppt = new SlideShow(slTests.openResourceAsStream("47261.ppt"));
|
||||
Slide[] slides = ppt.getSlides();
|
||||
Document doc = ppt.getDocumentRecord();
|
||||
assertNotNull(doc.getSlideSlideListWithText());
|
||||
|
|
|
@ -17,8 +17,6 @@
|
|||
|
||||
package org.apache.poi.hslf.usermodel;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
|
@ -44,6 +42,7 @@ import org.apache.poi.hslf.model.TextBox;
|
|||
import org.apache.poi.hslf.model.TextRun;
|
||||
import org.apache.poi.hslf.model.TextShape;
|
||||
import org.apache.poi.hslf.model.TitleMaster;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Testcases for bugs entered in bugzilla
|
||||
|
@ -52,15 +51,13 @@ import org.apache.poi.hslf.model.TitleMaster;
|
|||
* @author Yegor Kozlov
|
||||
*/
|
||||
public final class TestBugs extends TestCase {
|
||||
protected String cwd = System.getProperty("HSLF.testdata.path");
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
/**
|
||||
* Bug 41384: Array index wrong in record creation
|
||||
*/
|
||||
public void test41384() throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "41384.ppt"));
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(is);
|
||||
is.close();
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("41384.ppt"));
|
||||
|
||||
SlideShow ppt = new SlideShow(hslf);
|
||||
assertTrue("No Exceptions while reading file", true);
|
||||
|
@ -78,9 +75,7 @@ public final class TestBugs extends TestCase {
|
|||
* when the RichTextRun comes from a Notes model object
|
||||
*/
|
||||
public void test42474_1() throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "42474-1.ppt"));
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(is);
|
||||
is.close();
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42474-1.ppt"));
|
||||
|
||||
SlideShow ppt = new SlideShow(hslf);
|
||||
assertTrue("No Exceptions while reading file", true);
|
||||
|
@ -108,9 +103,7 @@ public final class TestBugs extends TestCase {
|
|||
* Second fix from Bug 42474: Incorrect matching of notes to slides
|
||||
*/
|
||||
public void test42474_2() throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "42474-2.ppt"));
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(is);
|
||||
is.close();
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42474-2.ppt"));
|
||||
|
||||
SlideShow ppt = new SlideShow(hslf);
|
||||
|
||||
|
@ -140,9 +133,7 @@ public final class TestBugs extends TestCase {
|
|||
* Bug 42485: All TextBoxes inside ShapeGroups have null TextRuns
|
||||
*/
|
||||
public void test42485 () throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "42485.ppt"));
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(is);
|
||||
is.close();
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42485.ppt"));
|
||||
|
||||
SlideShow ppt = new SlideShow(hslf);
|
||||
Shape[] shape = ppt.getSlides()[0].getShapes();
|
||||
|
@ -164,9 +155,7 @@ public final class TestBugs extends TestCase {
|
|||
* Bug 42484: NullPointerException from ShapeGroup.getAnchor()
|
||||
*/
|
||||
public void test42484 () throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "42485.ppt")); //test file is the same as for bug 42485
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(is);
|
||||
is.close();
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42485.ppt"));
|
||||
|
||||
SlideShow ppt = new SlideShow(hslf);
|
||||
Shape[] shape = ppt.getSlides()[0].getShapes();
|
||||
|
@ -187,9 +176,7 @@ public final class TestBugs extends TestCase {
|
|||
* Bug 41381: Exception from Slide.getMasterSheet() on a seemingly valid PPT file
|
||||
*/
|
||||
public void test41381() throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "alterman_security.ppt"));
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(is);
|
||||
is.close();
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("alterman_security.ppt"));
|
||||
|
||||
SlideShow ppt = new SlideShow(hslf);
|
||||
assertTrue("No Exceptions while reading file", true);
|
||||
|
@ -208,9 +195,7 @@ public final class TestBugs extends TestCase {
|
|||
* Bug 42486: Failure parsing a seemingly valid PPT
|
||||
*/
|
||||
public void test42486 () throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "42486.ppt"));
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(is);
|
||||
is.close();
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42486.ppt"));
|
||||
|
||||
SlideShow ppt = new SlideShow(hslf);
|
||||
Slide[] slide = ppt.getSlides();
|
||||
|
@ -225,9 +210,7 @@ public final class TestBugs extends TestCase {
|
|||
* Bug 42524: NPE in Shape.getShapeType()
|
||||
*/
|
||||
public void test42524 () throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "42486.ppt")); //test file is the same as for Bug 42486
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(is);
|
||||
is.close();
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42486.ppt"));
|
||||
|
||||
SlideShow ppt = new SlideShow(hslf);
|
||||
//walk down the tree and see if there were no errors while reading
|
||||
|
@ -254,9 +237,7 @@ public final class TestBugs extends TestCase {
|
|||
* Bug 42520: NPE in Picture.getPictureData()
|
||||
*/
|
||||
public void test42520 () throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "42520.ppt")); //test file is the same as for Bug 42486
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(is);
|
||||
is.close();
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42520.ppt"));
|
||||
|
||||
SlideShow ppt = new SlideShow(hslf);
|
||||
|
||||
|
@ -292,9 +273,7 @@ public final class TestBugs extends TestCase {
|
|||
* ( also fixed followup: getTextRuns() returns no text )
|
||||
*/
|
||||
public void test38256 () throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "38256.ppt"));
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("38256.ppt"));
|
||||
|
||||
assertTrue("No Exceptions while reading file", true);
|
||||
|
||||
|
@ -321,9 +300,7 @@ public final class TestBugs extends TestCase {
|
|||
* ( also fixed followup: getTextRuns() returns no text )
|
||||
*/
|
||||
public void test43781 () throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "43781.ppt"));
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("43781.ppt"));
|
||||
|
||||
assertTrue("No Exceptions while reading file", true);
|
||||
|
||||
|
@ -354,9 +331,7 @@ public final class TestBugs extends TestCase {
|
|||
* Bug 44296: HSLF Not Extracting Slide Background Image
|
||||
*/
|
||||
public void test44296 () throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "44296.ppt"));
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("44296.ppt"));
|
||||
|
||||
Slide slide = ppt.getSlides()[0];
|
||||
|
||||
|
@ -373,25 +348,21 @@ public final class TestBugs extends TestCase {
|
|||
* Bug 44770: java.lang.RuntimeException: Couldn't instantiate the class for type with id 1036 on class class org.apache.poi.hslf.record.PPDrawing
|
||||
*/
|
||||
public void test44770() throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "44770.ppt"));
|
||||
try {
|
||||
new SlideShow(is);
|
||||
new SlideShow(_slTests.openResourceAsStream("44770.ppt"));
|
||||
} catch (RuntimeException e) {
|
||||
if (e.getMessage().equals("Couldn't instantiate the class for type with id 1036 on class class org.apache.poi.hslf.record.PPDrawing")) {
|
||||
throw new AssertionFailedError("Identified bug 44770");
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
is.close();
|
||||
}
|
||||
|
||||
/**
|
||||
* Bug 41071: Will not extract text from Powerpoint TextBoxes
|
||||
*/
|
||||
public void test41071() throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "41071.ppt"));
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("41071.ppt"));
|
||||
|
||||
Slide slide = ppt.getSlides()[0];
|
||||
Shape[] sh = slide.getShapes();
|
||||
|
@ -411,13 +382,11 @@ public final class TestBugs extends TestCase {
|
|||
*/
|
||||
public void test41711() throws Exception {
|
||||
// New file is fine
|
||||
FileInputStream is = new FileInputStream(new File(cwd, "SampleShow.ppt"));
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
new SlideShow(_slTests.openResourceAsStream("SampleShow.ppt"));
|
||||
|
||||
// PowerPoint 95 gives an old format exception
|
||||
is = new FileInputStream(new File(cwd, "PPT95.ppt"));
|
||||
try {
|
||||
new SlideShow(is);
|
||||
new SlideShow(_slTests.openResourceAsStream("PPT95.ppt"));
|
||||
fail("OldPowerPointFormatException should've been thrown");
|
||||
} catch(OldPowerPointFormatException e) {
|
||||
// Good
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.apache.poi.hslf.usermodel;
|
|||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hslf.*;
|
||||
import org.apache.poi.hslf.model.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that SlideShow returns the right number of Sheets and MetaSheets
|
||||
|
@ -32,9 +33,8 @@ public final class TestCounts extends TestCase {
|
|||
private SlideShow ss;
|
||||
|
||||
public TestCounts() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
HSLFSlideShow hss = new HSLFSlideShow(filename);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ss = new SlideShow(hss);
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.apache.poi.hslf.usermodel;
|
|||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hslf.*;
|
||||
import org.apache.poi.hslf.record.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that SlideShow finds the right records as its most recent ones
|
||||
|
@ -34,9 +35,8 @@ public final class TestMostRecentRecords extends TestCase {
|
|||
private SlideShow ss;
|
||||
|
||||
public TestMostRecentRecords() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
hss = new HSLFSlideShow(filename);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ss = new SlideShow(hss);
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.apache.poi.hslf.usermodel;
|
|||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hslf.*;
|
||||
import org.apache.poi.hslf.model.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that SlideShow returns MetaSheets which have the right text in them
|
||||
|
@ -32,9 +33,8 @@ public final class TestNotesText extends TestCase {
|
|||
private SlideShow ss;
|
||||
|
||||
public TestNotesText() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
HSLFSlideShow hss = new HSLFSlideShow(filename);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ss = new SlideShow(hss);
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ package org.apache.poi.hslf.usermodel;
|
|||
import org.apache.poi.hslf.*;
|
||||
import org.apache.poi.hslf.blip.*;
|
||||
import org.apache.poi.hslf.model.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.io.*;
|
||||
|
@ -31,12 +32,9 @@ import java.util.Arrays;
|
|||
* @author Yegor Kozlov
|
||||
*/
|
||||
public final class TestPictures extends TestCase{
|
||||
private static POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
protected File cwd;
|
||||
|
||||
public void setUp() {
|
||||
cwd = new File(System.getProperty("HSLF.testdata.path"));
|
||||
}
|
||||
//protected File cwd;
|
||||
|
||||
/**
|
||||
* Test read/write Macintosh PICT
|
||||
|
@ -45,8 +43,8 @@ public final class TestPictures extends TestCase{
|
|||
SlideShow ppt = new SlideShow();
|
||||
|
||||
Slide slide = ppt.createSlide();
|
||||
File img = new File(cwd, "cow.pict");
|
||||
int idx = ppt.addPicture(img, Picture.PICT);
|
||||
byte[] src_bytes = slTests.readFile("cow.pict");
|
||||
int idx = ppt.addPicture(src_bytes, Picture.PICT);
|
||||
Picture pict = new Picture(idx);
|
||||
assertEquals(idx, pict.getPictureIndex());
|
||||
slide.addShape(pict);
|
||||
|
@ -73,7 +71,6 @@ public final class TestPictures extends TestCase{
|
|||
assertEquals(Picture.PICT, pictures[0].getType());
|
||||
assertTrue(pictures[0] instanceof PICT);
|
||||
//compare the content of the initial file with what is stored in the PictureData
|
||||
byte[] src_bytes = read(img);
|
||||
byte[] ppt_bytes = pictures[0].getData();
|
||||
assertEquals(src_bytes.length, ppt_bytes.length);
|
||||
//in PICT the first 512 bytes are MAC specific and may not be preserved, ignore them
|
||||
|
@ -91,8 +88,8 @@ public final class TestPictures extends TestCase{
|
|||
SlideShow ppt = new SlideShow();
|
||||
|
||||
Slide slide = ppt.createSlide();
|
||||
File img = new File(cwd, "santa.wmf");
|
||||
int idx = ppt.addPicture(img, Picture.WMF);
|
||||
byte[] src_bytes = slTests.readFile("santa.wmf");
|
||||
int idx = ppt.addPicture(src_bytes, Picture.WMF);
|
||||
Picture pict = new Picture(idx);
|
||||
assertEquals(idx, pict.getPictureIndex());
|
||||
slide.addShape(pict);
|
||||
|
@ -119,7 +116,6 @@ public final class TestPictures extends TestCase{
|
|||
assertEquals(Picture.WMF, pictures[0].getType());
|
||||
assertTrue(pictures[0] instanceof WMF);
|
||||
//compare the content of the initial file with what is stored in the PictureData
|
||||
byte[] src_bytes = read(img);
|
||||
byte[] ppt_bytes = pictures[0].getData();
|
||||
assertEquals(src_bytes.length, ppt_bytes.length);
|
||||
//in WMF the first 22 bytes - is a metafile header
|
||||
|
@ -137,8 +133,9 @@ public final class TestPictures extends TestCase{
|
|||
SlideShow ppt = new SlideShow();
|
||||
|
||||
Slide slide = ppt.createSlide();
|
||||
File img = new File(cwd, "wrench.emf");
|
||||
int idx = ppt.addPicture(img, Picture.EMF);
|
||||
byte[] src_bytes = slTests.readFile("wrench.emf");
|
||||
int idx = ppt.addPicture(src_bytes, Picture.EMF);
|
||||
|
||||
Picture pict = new Picture(idx);
|
||||
assertEquals(idx, pict.getPictureIndex());
|
||||
slide.addShape(pict);
|
||||
|
@ -165,7 +162,6 @@ public final class TestPictures extends TestCase{
|
|||
assertEquals(Picture.EMF, pictures[0].getType());
|
||||
assertTrue(pictures[0] instanceof EMF);
|
||||
//compare the content of the initial file with what is stored in the PictureData
|
||||
byte[] src_bytes = read(img);
|
||||
byte[] ppt_bytes = pictures[0].getData();
|
||||
assertTrue(Arrays.equals(src_bytes, ppt_bytes));
|
||||
}
|
||||
|
@ -177,8 +173,8 @@ public final class TestPictures extends TestCase{
|
|||
SlideShow ppt = new SlideShow();
|
||||
|
||||
Slide slide = ppt.createSlide();
|
||||
File img = new File(cwd, "tomcat.png");
|
||||
int idx = ppt.addPicture(img, Picture.PNG);
|
||||
byte[] src_bytes = slTests.readFile("tomcat.png");
|
||||
int idx = ppt.addPicture(src_bytes, Picture.PNG);
|
||||
Picture pict = new Picture(idx);
|
||||
assertEquals(idx, pict.getPictureIndex());
|
||||
slide.addShape(pict);
|
||||
|
@ -205,7 +201,6 @@ public final class TestPictures extends TestCase{
|
|||
assertEquals(Picture.PNG, pictures[0].getType());
|
||||
assertTrue(pictures[0] instanceof PNG);
|
||||
//compare the content of the initial file with what is stored in the PictureData
|
||||
byte[] src_bytes = read(img);
|
||||
byte[] ppt_bytes = pictures[0].getData();
|
||||
assertTrue(Arrays.equals(src_bytes, ppt_bytes));
|
||||
}
|
||||
|
@ -217,8 +212,9 @@ public final class TestPictures extends TestCase{
|
|||
SlideShow ppt = new SlideShow();
|
||||
|
||||
Slide slide = ppt.createSlide();
|
||||
File img = new File(cwd, "clock.jpg");
|
||||
int idx = ppt.addPicture(img, Picture.JPEG);
|
||||
byte[] src_bytes = slTests.readFile("clock.jpg");
|
||||
int idx = ppt.addPicture(src_bytes, Picture.JPEG);
|
||||
|
||||
Picture pict = new Picture(idx);
|
||||
assertEquals(idx, pict.getPictureIndex());
|
||||
slide.addShape(pict);
|
||||
|
@ -245,7 +241,6 @@ public final class TestPictures extends TestCase{
|
|||
assertEquals(Picture.JPEG, pictures[0].getType());
|
||||
assertTrue(pictures[0] instanceof JPEG);
|
||||
//compare the content of the initial file with what is stored in the PictureData
|
||||
byte[] src_bytes = read(img);
|
||||
byte[] ppt_bytes = pictures[0].getData();
|
||||
assertTrue(Arrays.equals(src_bytes, ppt_bytes));
|
||||
}
|
||||
|
@ -257,13 +252,8 @@ public final class TestPictures extends TestCase{
|
|||
SlideShow ppt = new SlideShow();
|
||||
|
||||
Slide slide = ppt.createSlide();
|
||||
File img = new File(cwd, "sci_cec.dib");
|
||||
|
||||
// Check we can read the test DIB image
|
||||
assertTrue(img.exists());
|
||||
|
||||
// Add the image
|
||||
int idx = ppt.addPicture(img, Picture.DIB);
|
||||
byte[] src_bytes = slTests.readFile("sci_cec.dib");
|
||||
int idx = ppt.addPicture(src_bytes, Picture.DIB);
|
||||
Picture pict = new Picture(idx);
|
||||
assertEquals(idx, pict.getPictureIndex());
|
||||
slide.addShape(pict);
|
||||
|
@ -290,22 +280,10 @@ public final class TestPictures extends TestCase{
|
|||
assertEquals(Picture.DIB, pictures[0].getType());
|
||||
assertTrue(pictures[0] instanceof DIB);
|
||||
//compare the content of the initial file with what is stored in the PictureData
|
||||
byte[] src_bytes = read(img);
|
||||
byte[] ppt_bytes = pictures[0].getData();
|
||||
assertTrue(Arrays.equals(src_bytes, ppt_bytes));
|
||||
}
|
||||
|
||||
/**
|
||||
* Read file into a byte array
|
||||
*/
|
||||
protected byte[] read(File f) throws IOException {
|
||||
byte[] bytes = new byte[(int)f.length()];
|
||||
FileInputStream is = new FileInputStream(f);
|
||||
is.read(bytes);
|
||||
is.close();
|
||||
return bytes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Read pictures in different formats from a reference slide show
|
||||
*/
|
||||
|
@ -315,7 +293,7 @@ public final class TestPictures extends TestCase{
|
|||
Picture pict;
|
||||
PictureData pdata;
|
||||
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(new File(cwd, "pictures.ppt").getPath()));
|
||||
SlideShow ppt = new SlideShow(slTests.openResourceAsStream("pictures.ppt"));
|
||||
Slide[] slides = ppt.getSlides();
|
||||
PictureData[] pictures = ppt.getPictureData();
|
||||
assertEquals(5, pictures.length);
|
||||
|
@ -325,7 +303,7 @@ public final class TestPictures extends TestCase{
|
|||
assertTrue(pdata instanceof JPEG);
|
||||
assertEquals(Picture.JPEG, pdata.getType());
|
||||
src_bytes = pdata.getData();
|
||||
ppt_bytes = read(new File(cwd, "clock.jpg"));
|
||||
ppt_bytes = slTests.readFile("clock.jpg");
|
||||
assertTrue(Arrays.equals(src_bytes, ppt_bytes));
|
||||
|
||||
pict = (Picture)slides[1].getShapes()[0]; //the second slide contains PNG
|
||||
|
@ -333,7 +311,7 @@ public final class TestPictures extends TestCase{
|
|||
assertTrue(pdata instanceof PNG);
|
||||
assertEquals(Picture.PNG, pdata.getType());
|
||||
src_bytes = pdata.getData();
|
||||
ppt_bytes = read(new File(cwd, "tomcat.png"));
|
||||
ppt_bytes = slTests.readFile("tomcat.png");
|
||||
assertTrue(Arrays.equals(src_bytes, ppt_bytes));
|
||||
|
||||
pict = (Picture)slides[2].getShapes()[0]; //the third slide contains WMF
|
||||
|
@ -341,7 +319,7 @@ public final class TestPictures extends TestCase{
|
|||
assertTrue(pdata instanceof WMF);
|
||||
assertEquals(Picture.WMF, pdata.getType());
|
||||
src_bytes = pdata.getData();
|
||||
ppt_bytes = read(new File(cwd, "santa.wmf"));
|
||||
ppt_bytes = slTests.readFile("santa.wmf");
|
||||
assertEquals(src_bytes.length, ppt_bytes.length);
|
||||
//ignore the first 22 bytes - it is a WMF metafile header
|
||||
b1 = new byte[src_bytes.length-22];
|
||||
|
@ -355,7 +333,7 @@ public final class TestPictures extends TestCase{
|
|||
assertTrue(pdata instanceof PICT);
|
||||
assertEquals(Picture.PICT, pdata.getType());
|
||||
src_bytes = pdata.getData();
|
||||
ppt_bytes = read(new File(cwd, "cow.pict"));
|
||||
ppt_bytes = slTests.readFile("cow.pict");
|
||||
assertEquals(src_bytes.length, ppt_bytes.length);
|
||||
//ignore the first 512 bytes - it is a MAC specific crap
|
||||
b1 = new byte[src_bytes.length-512];
|
||||
|
@ -369,7 +347,7 @@ public final class TestPictures extends TestCase{
|
|||
assertTrue(pdata instanceof EMF);
|
||||
assertEquals(Picture.EMF, pdata.getType());
|
||||
src_bytes = pdata.getData();
|
||||
ppt_bytes = read(new File(cwd, "wrench.emf"));
|
||||
ppt_bytes = slTests.readFile("wrench.emf");
|
||||
assertTrue(Arrays.equals(src_bytes, ppt_bytes));
|
||||
|
||||
}
|
||||
|
@ -379,7 +357,7 @@ public final class TestPictures extends TestCase{
|
|||
* crazy pictures of type 0, we do our best.
|
||||
*/
|
||||
public void testZeroPictureType() throws Exception {
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(new File(cwd, "PictureTypeZero.ppt").getPath());
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(slTests.openResourceAsStream("PictureTypeZero.ppt"));
|
||||
|
||||
// Should still have 2 real pictures
|
||||
assertEquals(2, hslf.getPictures().length);
|
||||
|
@ -409,7 +387,7 @@ public final class TestPictures extends TestCase{
|
|||
}
|
||||
|
||||
public void testZeroPictureLength() throws Exception {
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(new File(cwd, "PictureLengthZero.ppt").getPath());
|
||||
HSLFSlideShow hslf = new HSLFSlideShow(slTests.openResourceAsStream("PictureLengthZero.ppt"));
|
||||
|
||||
// Should still have 2 real pictures
|
||||
assertEquals(2, hslf.getPictures().length);
|
||||
|
@ -453,7 +431,7 @@ public final class TestPictures extends TestCase{
|
|||
}
|
||||
|
||||
public void testGetPictureName() throws Exception {
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(new File(cwd, "ppt_with_png.ppt").getPath()));
|
||||
SlideShow ppt = new SlideShow(slTests.openResourceAsStream("ppt_with_png.ppt"));
|
||||
Slide slide = ppt.getSlides()[0];
|
||||
|
||||
Picture p = (Picture)slide.getShapes()[0]; //the first slide contains JPEG
|
||||
|
@ -464,7 +442,7 @@ public final class TestPictures extends TestCase{
|
|||
SlideShow ppt = new SlideShow();
|
||||
|
||||
Slide slide = ppt.createSlide();
|
||||
File img = new File(cwd, "tomcat.png");
|
||||
byte[] img = slTests.readFile("tomcat.png");
|
||||
int idx = ppt.addPicture(img, Picture.PNG);
|
||||
Picture pict = new Picture(idx);
|
||||
pict.setPictureName("tomcat.png");
|
||||
|
|
|
@ -24,6 +24,7 @@ import java.io.ByteArrayOutputStream;
|
|||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hslf.*;
|
||||
import org.apache.poi.hslf.model.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that SlideShow can re-order slides properly
|
||||
|
@ -47,18 +48,15 @@ public final class TestReOrderingSlides extends TestCase {
|
|||
* Create/open the slideshows
|
||||
*/
|
||||
public void setUp() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
String filename = dirname + "/Single_Coloured_Page.ppt";
|
||||
hss_one = new HSLFSlideShow(filename);
|
||||
hss_one = new HSLFSlideShow(slTests.openResourceAsStream("Single_Coloured_Page.ppt"));
|
||||
ss_one = new SlideShow(hss_one);
|
||||
|
||||
filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
hss_two = new HSLFSlideShow(filename);
|
||||
hss_two = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ss_two = new SlideShow(hss_two);
|
||||
|
||||
filename = dirname + "/incorrect_slide_order.ppt";
|
||||
hss_three = new HSLFSlideShow(filename);
|
||||
hss_three = new HSLFSlideShow(slTests.openResourceAsStream("incorrect_slide_order.ppt"));
|
||||
ss_three = new SlideShow(hss_three);
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ import org.apache.poi.hslf.*;
|
|||
import org.apache.poi.hslf.record.ParentAwareRecord;
|
||||
import org.apache.poi.hslf.record.Record;
|
||||
import org.apache.poi.hslf.record.RecordContainer;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that the record setup done by SlideShow
|
||||
|
@ -37,9 +38,8 @@ public final class TestRecordSetup extends TestCase {
|
|||
private HSLFSlideShow hss;
|
||||
|
||||
public TestRecordSetup() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
hss = new HSLFSlideShow(filename);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ss = new SlideShow(hss);
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,6 @@ package org.apache.poi.hslf.usermodel;
|
|||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
@ -30,6 +29,7 @@ import org.apache.poi.hslf.model.TextBox;
|
|||
import org.apache.poi.hslf.model.TextRun;
|
||||
import org.apache.poi.hslf.record.Record;
|
||||
import org.apache.poi.hslf.record.SlideListWithText;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Test that the friendly getters and setters on RichTextRun
|
||||
|
@ -38,6 +38,8 @@ import org.apache.poi.hslf.record.SlideListWithText;
|
|||
* @author Nick Burch (nick at torchbox dot com)
|
||||
*/
|
||||
public final class TestRichTextRun extends TestCase {
|
||||
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
// SlideShow primed on the test data
|
||||
private SlideShow ss;
|
||||
private SlideShow ssRichA;
|
||||
|
@ -50,27 +52,23 @@ public final class TestRichTextRun extends TestCase {
|
|||
private static String filenameC;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
|
||||
// Basic (non rich) test file
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
hss = new HSLFSlideShow(filename);
|
||||
hss = new HSLFSlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ss = new SlideShow(hss);
|
||||
|
||||
// Rich test file A
|
||||
filename = dirname + "/Single_Coloured_Page.ppt";
|
||||
hssRichA = new HSLFSlideShow(filename);
|
||||
hssRichA = new HSLFSlideShow(_slTests.openResourceAsStream("Single_Coloured_Page.ppt"));
|
||||
ssRichA = new SlideShow(hssRichA);
|
||||
|
||||
// Rich test file B
|
||||
filename = dirname + "/Single_Coloured_Page_With_Fonts_and_Alignments.ppt";
|
||||
hssRichB = new HSLFSlideShow(filename);
|
||||
hssRichB = new HSLFSlideShow(_slTests.openResourceAsStream("Single_Coloured_Page_With_Fonts_and_Alignments.ppt"));
|
||||
ssRichB = new SlideShow(hssRichB);
|
||||
|
||||
// Rich test file C - has paragraph styles that run out before
|
||||
// the character ones do
|
||||
filenameC = dirname + "/ParagraphStylesShorterThanCharStyles.ppt";
|
||||
hssRichC = new HSLFSlideShow(filenameC);
|
||||
filenameC = "ParagraphStylesShorterThanCharStyles.ppt";
|
||||
hssRichC = new HSLFSlideShow(_slTests.openResourceAsStream(filenameC));
|
||||
ssRichC = new SlideShow(hssRichC);
|
||||
}
|
||||
|
||||
|
@ -375,7 +373,7 @@ public final class TestRichTextRun extends TestCase {
|
|||
*/
|
||||
private void assertMatchesSLTWC(SlideShow s) throws Exception {
|
||||
// Grab a new copy of slideshow C
|
||||
SlideShow refC = new SlideShow(new HSLFSlideShow(filenameC));
|
||||
SlideShow refC = new SlideShow(_slTests.openResourceAsStream(filenameC));
|
||||
|
||||
// Write out the 2nd SLWT in the active document
|
||||
SlideListWithText refSLWT = refC.getDocumentRecord().getSlideListWithTexts()[1];
|
||||
|
@ -449,7 +447,7 @@ if(false) {
|
|||
}
|
||||
|
||||
public void testIndentationLevel() throws Exception {
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(new File(System.getProperty("HSLF.testdata.path"), "ParagraphStylesShorterThanCharStyles.ppt").getPath()));
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("ParagraphStylesShorterThanCharStyles.ppt"));
|
||||
Slide[] sl = ppt.getSlides();
|
||||
for (int i = 0; i < sl.length; i++) {
|
||||
TextRun[] txt = sl[i].getTextRuns();
|
||||
|
@ -465,9 +463,7 @@ if(false) {
|
|||
}
|
||||
|
||||
public void testReadParagraphStyles() throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(System.getProperty("HSLF.testdata.path"), "bullets.ppt"));
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("bullets.ppt"));
|
||||
assertTrue("No Exceptions while reading file", true);
|
||||
|
||||
RichTextRun rt;
|
||||
|
@ -560,9 +556,7 @@ if(false) {
|
|||
}
|
||||
|
||||
public void testAddText() throws Exception {
|
||||
FileInputStream is = new FileInputStream(new File(System.getProperty("HSLF.testdata.path"), "bullets.ppt"));
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("bullets.ppt"));
|
||||
assertTrue("No Exceptions while reading file", true);
|
||||
|
||||
RichTextRun rt;
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.apache.poi.hslf.usermodel;
|
|||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hslf.*;
|
||||
import org.apache.poi.hslf.model.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that SlideShow returns Sheets which have the right text in them
|
||||
|
@ -32,9 +33,8 @@ public final class TestSheetText extends TestCase {
|
|||
private SlideShow ss;
|
||||
|
||||
public TestSheetText() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/basic_test_ppt_file.ppt";
|
||||
HSLFSlideShow hss = new HSLFSlideShow(filename);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ss = new SlideShow(hss);
|
||||
}
|
||||
|
||||
|
@ -63,9 +63,8 @@ public final class TestSheetText extends TestCase {
|
|||
* (Make sure we don't screw up / throw an exception etc)
|
||||
*/
|
||||
public void testWithShortTextPropData() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
String filename = dirname + "/iisd_report.ppt";
|
||||
HSLFSlideShow hss = new HSLFSlideShow(filename);
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("iisd_report.ppt"));
|
||||
SlideShow sss = new SlideShow(hss);
|
||||
|
||||
// Should come out with 10 slides, no notes
|
||||
|
|
|
@ -20,6 +20,7 @@ package org.apache.poi.hslf.usermodel;
|
|||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hslf.*;
|
||||
import org.apache.poi.hslf.model.*;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests that SlideShow returns Sheets in the right order
|
||||
|
@ -27,20 +28,18 @@ import org.apache.poi.hslf.model.*;
|
|||
* @author Nick Burch (nick at torchbox dot com)
|
||||
*/
|
||||
public final class TestSlideOrdering extends TestCase {
|
||||
private static POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
// Simple slideshow, record order matches slide order
|
||||
private SlideShow ssA;
|
||||
// Complex slideshow, record order doesn't match slide order
|
||||
private SlideShow ssB;
|
||||
|
||||
public TestSlideOrdering() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
|
||||
String filenameA = dirname + "/basic_test_ppt_file.ppt";
|
||||
HSLFSlideShow hssA = new HSLFSlideShow(filenameA);
|
||||
HSLFSlideShow hssA = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
|
||||
ssA = new SlideShow(hssA);
|
||||
|
||||
String filenameB = dirname + "/incorrect_slide_order.ppt";
|
||||
HSLFSlideShow hssB = new HSLFSlideShow(filenameB);
|
||||
HSLFSlideShow hssB = new HSLFSlideShow(slTests.openResourceAsStream("incorrect_slide_order.ppt"));
|
||||
ssB = new SlideShow(hssB);
|
||||
}
|
||||
|
||||
|
@ -85,7 +84,9 @@ public final class TestSlideOrdering extends TestCase {
|
|||
* array of reference slide titles
|
||||
*/
|
||||
protected void assertSlideOrdering(String filename, String[] titles) throws Exception {
|
||||
SlideShow ppt = new SlideShow(new HSLFSlideShow(filename));
|
||||
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
SlideShow ppt = new SlideShow(slTests.openResourceAsStream(filename));
|
||||
Slide[] slide = ppt.getSlides();
|
||||
|
||||
assertEquals(titles.length, slide.length);
|
||||
|
@ -96,25 +97,23 @@ public final class TestSlideOrdering extends TestCase {
|
|||
}
|
||||
|
||||
public void testTitles() throws Exception {
|
||||
String dirname = System.getProperty("HSLF.testdata.path");
|
||||
|
||||
assertSlideOrdering(dirname + "/basic_test_ppt_file.ppt", new String[] {
|
||||
assertSlideOrdering("basic_test_ppt_file.ppt", new String[] {
|
||||
"This is a test title", "This is the title on page 2" });
|
||||
|
||||
assertSlideOrdering(dirname + "/incorrect_slide_order.ppt", new String[] { "Slide 1",
|
||||
assertSlideOrdering("incorrect_slide_order.ppt", new String[] { "Slide 1",
|
||||
"Slide 2", "Slide 3" });
|
||||
|
||||
assertSlideOrdering(dirname + "/next_test_ppt_file.ppt", new String[] {
|
||||
assertSlideOrdering("next_test_ppt_file.ppt", new String[] {
|
||||
"This is a test title", "This is the title on page 2" });
|
||||
|
||||
assertSlideOrdering(dirname + "/Single_Coloured_Page.ppt",
|
||||
assertSlideOrdering("Single_Coloured_Page.ppt",
|
||||
new String[] { "This is a title, it" + (char) 0x2019 + "s in black" });
|
||||
|
||||
assertSlideOrdering(dirname + "/Single_Coloured_Page_With_Fonts_and_Alignments.ppt",
|
||||
assertSlideOrdering("Single_Coloured_Page_With_Fonts_and_Alignments.ppt",
|
||||
new String[] { "This is a title, it" + (char) 0x2019 + "s in black" });
|
||||
|
||||
assertSlideOrdering(
|
||||
dirname + "/ParagraphStylesShorterThanCharStyles.ppt",
|
||||
"ParagraphStylesShorterThanCharStyles.ppt",
|
||||
new String[] {
|
||||
"ROMANCE: AN ANALYSIS",
|
||||
"AGENDA",
|
||||
|
|
|
@ -17,11 +17,10 @@
|
|||
|
||||
package org.apache.poi.hslf.usermodel;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.util.Arrays;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Test reading sound data from a ppt
|
||||
|
@ -29,28 +28,16 @@ import junit.framework.TestCase;
|
|||
* @author Yegor Kozlov
|
||||
*/
|
||||
public final class TestSoundData extends TestCase{
|
||||
|
||||
protected File cwd;
|
||||
|
||||
public void setUp() {
|
||||
cwd = new File(System.getProperty("HSLF.testdata.path"));
|
||||
}
|
||||
private static POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
|
||||
|
||||
/**
|
||||
* Read a reference sound file from disk and compare it from the data extracted from the slide show
|
||||
*/
|
||||
public void testSounds() throws Exception {
|
||||
//read the reference sound file
|
||||
File f = new File(cwd, "ringin.wav");
|
||||
int length = (int)f.length();
|
||||
byte[] ref_data = new byte[length];
|
||||
FileInputStream is = new FileInputStream(f);
|
||||
is.read(ref_data);
|
||||
is.close();
|
||||
byte[] ref_data = slTests.readFile("ringin.wav");
|
||||
|
||||
is = new FileInputStream(new File(cwd, "sound.ppt"));
|
||||
SlideShow ppt = new SlideShow(is);
|
||||
is.close();
|
||||
SlideShow ppt = new SlideShow(slTests.openResourceAsStream("sound.ppt"));
|
||||
|
||||
SoundData[] sound = ppt.getSoundData();
|
||||
assertEquals("Expected 1 sound", 1, sound.length);
|
||||
|
|
|
@ -21,6 +21,7 @@ import java.io.IOException;
|
|||
|
||||
import org.apache.poi.hsmf.MAPIMessage;
|
||||
import org.apache.poi.hsmf.exceptions.ChunkNotFoundException;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
|
@ -38,8 +39,8 @@ public final class TestBlankFileRead extends TestCase {
|
|||
* Initialize this test, load up the blank.msg mapi message.
|
||||
*/
|
||||
public TestBlankFileRead() throws IOException {
|
||||
String dirname = System.getProperty("HSMF.testdata.path");
|
||||
this.mapiMessage = new MAPIMessage(dirname + "/blank.msg");
|
||||
POIDataSamples samples = POIDataSamples.getHSMFInstance();
|
||||
this.mapiMessage = new MAPIMessage(samples.openResourceAsStream("blank.msg"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -27,6 +27,7 @@ import junit.framework.TestCase;
|
|||
|
||||
import org.apache.poi.hsmf.MAPIMessage;
|
||||
import org.apache.poi.hsmf.exceptions.ChunkNotFoundException;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests to verify that we can read attachments from msg file
|
||||
|
@ -42,8 +43,8 @@ public class TestFileWithAttachmentsRead extends TestCase {
|
|||
* @throws Exception
|
||||
*/
|
||||
public TestFileWithAttachmentsRead() throws IOException {
|
||||
String dirname = System.getProperty("HSMF.testdata.path");
|
||||
this.mapiMessage = new MAPIMessage(dirname + "/attachment_test_msg.msg");
|
||||
POIDataSamples samples = POIDataSamples.getHSMFInstance();
|
||||
this.mapiMessage = new MAPIMessage(samples.openResourceAsStream("attachment_test_msg.msg"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -21,6 +21,7 @@ import java.io.IOException;
|
|||
|
||||
import org.apache.poi.hsmf.MAPIMessage;
|
||||
import org.apache.poi.hsmf.exceptions.ChunkNotFoundException;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
|
@ -35,8 +36,8 @@ private MAPIMessage mapiMessage;
|
|||
* @throws Exception
|
||||
*/
|
||||
public TestOutlook30FileRead() throws IOException {
|
||||
String dirname = System.getProperty("HSMF.testdata.path");
|
||||
this.mapiMessage = new MAPIMessage(dirname + "/outlook_30_msg.msg");
|
||||
POIDataSamples samples = POIDataSamples.getHSMFInstance();
|
||||
this.mapiMessage = new MAPIMessage(samples.openResourceAsStream("outlook_30_msg.msg"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -21,6 +21,7 @@ import java.io.IOException;
|
|||
|
||||
import org.apache.poi.hsmf.MAPIMessage;
|
||||
import org.apache.poi.hsmf.exceptions.ChunkNotFoundException;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
|
@ -38,8 +39,8 @@ private MAPIMessage mapiMessage;
|
|||
* @throws Exception
|
||||
*/
|
||||
public TestSimpleFileRead() throws IOException {
|
||||
String dirname = System.getProperty("HSMF.testdata.path");
|
||||
this.mapiMessage = new MAPIMessage(dirname + "/simple_test_msg.msg");
|
||||
POIDataSamples samples = POIDataSamples.getHSMFInstance();
|
||||
this.mapiMessage = new MAPIMessage(samples.openResourceAsStream("simple_test_msg.msg"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -20,6 +20,7 @@ package org.apache.poi.hwpf;
|
|||
import org.apache.poi.hwpf.model.FileInformationBlock;
|
||||
import org.apache.poi.poifs.filesystem.DocumentEntry;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
|
||||
public final class HWPFDocFixture
|
||||
|
@ -38,7 +39,7 @@ public final class HWPFDocFixture
|
|||
try
|
||||
{
|
||||
POIFSFileSystem filesystem = new POIFSFileSystem(
|
||||
HWPFTestDataSamples.openSampleFileStream("test.doc"));
|
||||
POIDataSamples.getDocumentInstance().openResourceAsStream("test.doc"));
|
||||
|
||||
DocumentEntry documentProps =
|
||||
(DocumentEntry) filesystem.getRoot().getEntry("WordDocument");
|
||||
|
|
|
@ -20,29 +20,12 @@ 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 class HWPFTestDataSamples {
|
||||
|
||||
public static HWPFDocument openSampleFile(String sampleFileName) {
|
||||
try {
|
||||
return new HWPFDocument(_inst.openResourceAsStream(sampleFileName));
|
||||
InputStream is = POIDataSamples.getDocumentInstance().openResourceAsStream(sampleFileName);
|
||||
return new HWPFDocument(is);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ import junit.framework.TestCase;
|
|||
|
||||
import org.apache.poi.hwpf.model.PicturesTable;
|
||||
import org.apache.poi.hwpf.usermodel.Picture;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Test picture support in HWPF
|
||||
|
@ -154,6 +155,6 @@ public final class TestHWPFPictures extends TestCase {
|
|||
}
|
||||
|
||||
private static byte[] readFile(String file) {
|
||||
return HWPFTestDataSamples.getTestDataFileContent(file);
|
||||
return POIDataSamples.getDocumentInstance().readFile(file);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ 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 org.apache.poi.POIDataSamples;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
|
||||
|
@ -65,17 +66,16 @@ public final class TestWordExtractor extends TestCase {
|
|||
private String filename6;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
String pdirname = System.getProperty("POIFS.testdata.path");
|
||||
|
||||
String filename = "test2.doc";
|
||||
String filename2 = "test.doc";
|
||||
filename3 = pdirname + "/excel_with_embeded.xls";
|
||||
filename3 = "excel_with_embeded.xls";
|
||||
filename4 = "ThreeColHeadFoot.doc";
|
||||
filename5 = "HeaderFooterUnicode.doc";
|
||||
filename6 = "footnote.doc";
|
||||
|
||||
extractor = new WordExtractor(HWPFTestDataSamples.openSampleFileStream(filename));
|
||||
extractor2 = new WordExtractor(HWPFTestDataSamples.openSampleFileStream(filename2));
|
||||
POIDataSamples docTests = POIDataSamples.getDocumentInstance();
|
||||
extractor = new WordExtractor(docTests.openResourceAsStream(filename));
|
||||
extractor2 = new WordExtractor(docTests.openResourceAsStream(filename2));
|
||||
|
||||
// Build splat'd out text version
|
||||
for(int i=0; i<p_text1.length; i++) {
|
||||
|
@ -123,7 +123,7 @@ public final class TestWordExtractor extends TestCase {
|
|||
* @throws Exception
|
||||
*/
|
||||
public void testExtractFromEmbeded() throws Exception {
|
||||
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filename3));
|
||||
POIFSFileSystem fs = new POIFSFileSystem(POIDataSamples.getSpreadSheetInstance().openResourceAsStream(filename3));
|
||||
HWPFDocument doc;
|
||||
WordExtractor extractor3;
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ package org.apache.poi.hwpf.extractor;
|
|||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.hwpf.HWPFTestDataSamples;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests for bugs with the WordExtractor
|
||||
|
@ -30,7 +31,7 @@ public final class TestWordExtractorBugs extends TestCase {
|
|||
|
||||
public void testProblemMetadata() throws Exception {
|
||||
WordExtractor extractor =
|
||||
new WordExtractor(HWPFTestDataSamples.openSampleFileStream("ProblemExtracting.doc"));
|
||||
new WordExtractor(POIDataSamples.getDocumentInstance().openResourceAsStream("ProblemExtracting.doc"));
|
||||
|
||||
// Check it gives text without error
|
||||
extractor.getText();
|
||||
|
|
|
@ -24,6 +24,7 @@ import junit.framework.TestCase;
|
|||
import org.apache.poi.hwpf.HWPFDocument;
|
||||
import org.apache.poi.hwpf.HWPFTestDataSamples;
|
||||
import org.apache.poi.util.LittleEndian;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Test the picture handling
|
||||
|
@ -98,7 +99,7 @@ public final class TestPictures extends TestCase {
|
|||
assertTrue(pic.getSize() > 128);
|
||||
|
||||
// Check right contents
|
||||
byte[] emf = HWPFTestDataSamples.getTestDataFileContent("vector_image.emf");
|
||||
byte[] emf = POIDataSamples.getDocumentInstance().readFile("vector_image.emf");
|
||||
byte[] pemf = pic.getContent();
|
||||
assertEquals(emf.length, pemf.length);
|
||||
for(int i=0; i<emf.length; i++) {
|
||||
|
|
|
@ -20,26 +20,89 @@ import java.io.*;
|
|||
|
||||
/**
|
||||
* Centralises logic for finding/opening sample files
|
||||
*
|
||||
*/
|
||||
public abstract class POIDataSamples {
|
||||
public final class POIDataSamples {
|
||||
|
||||
/**
|
||||
* Name of the system property that defined path to the test data.
|
||||
*/
|
||||
public static final String TEST_PROPERTY = "POI.testdata.path";
|
||||
|
||||
private static POIDataSamples _instSlideshow;
|
||||
private static POIDataSamples _instSpreadsheet;
|
||||
private static POIDataSamples _instDocument;
|
||||
private static POIDataSamples _instDiagram;
|
||||
private static POIDataSamples _instOpenxml4j;
|
||||
private static POIDataSamples _instPOIFS;
|
||||
private static POIDataSamples _instDDF;
|
||||
private static POIDataSamples _instHPSF;
|
||||
private static POIDataSamples _instHPBF;
|
||||
private static POIDataSamples _instHSMF;
|
||||
|
||||
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;
|
||||
private String _moduleDir;
|
||||
|
||||
/**
|
||||
*
|
||||
* @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
|
||||
* @param moduleDir the name of the directory containing the test files
|
||||
*/
|
||||
public POIDataSamples(String dir, String classPathTestFile){
|
||||
_testDataDir = dir;
|
||||
initialise(classPathTestFile);
|
||||
private POIDataSamples(String moduleDir){
|
||||
_moduleDir = moduleDir;
|
||||
initialise();
|
||||
}
|
||||
|
||||
public static POIDataSamples getSpreadSheetInstance(){
|
||||
if(_instSpreadsheet == null) _instSpreadsheet = new POIDataSamples("spreadsheet");
|
||||
return _instSpreadsheet;
|
||||
}
|
||||
|
||||
public static POIDataSamples getDocumentInstance(){
|
||||
if(_instDocument == null) _instDocument = new POIDataSamples("document");
|
||||
return _instDocument;
|
||||
}
|
||||
|
||||
public static POIDataSamples getSlideShowInstance(){
|
||||
if(_instSlideshow == null) _instSlideshow = new POIDataSamples("slideshow");
|
||||
return _instSlideshow;
|
||||
}
|
||||
|
||||
public static POIDataSamples getDiagramInstance(){
|
||||
if(_instOpenxml4j == null) _instOpenxml4j = new POIDataSamples("diagram");
|
||||
return _instOpenxml4j;
|
||||
}
|
||||
|
||||
public static POIDataSamples getOpenXML4JInstance(){
|
||||
if(_instDiagram == null) _instDiagram = new POIDataSamples("openxml4j");
|
||||
return _instDiagram;
|
||||
}
|
||||
|
||||
public static POIDataSamples getPOIFSInstance(){
|
||||
if(_instPOIFS == null) _instPOIFS = new POIDataSamples("poifs");
|
||||
return _instPOIFS;
|
||||
}
|
||||
|
||||
public static POIDataSamples getDDFInstance(){
|
||||
if(_instDDF == null) _instDDF = new POIDataSamples("ddf");
|
||||
return _instDDF;
|
||||
}
|
||||
|
||||
public static POIDataSamples getHPSFInstance(){
|
||||
if(_instHPSF == null) _instHPSF = new POIDataSamples("hpsf");
|
||||
return _instHPSF;
|
||||
}
|
||||
|
||||
public static POIDataSamples getPublisherInstance(){
|
||||
if(_instHPBF == null) _instHPBF = new POIDataSamples("publisher");
|
||||
return _instHPBF;
|
||||
}
|
||||
|
||||
public static POIDataSamples getHSMFInstance(){
|
||||
if(_instHSMF == null) _instHSMF = new POIDataSamples("hsmf");
|
||||
return _instHSMF;
|
||||
}
|
||||
/**
|
||||
* Opens a sample file from the test data directory
|
||||
*
|
||||
|
@ -60,24 +123,11 @@ public abstract class POIDataSamples {
|
|||
}
|
||||
if (_resolvedDataDir == null) {
|
||||
throw new RuntimeException("Must set system property '"
|
||||
+ _testDataDir
|
||||
+ TEST_PROPERTY
|
||||
+ "' 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);
|
||||
}
|
||||
|
||||
File f = getFile(sampleFileName);
|
||||
try {
|
||||
return new FileInputStream(f);
|
||||
} catch (FileNotFoundException e) {
|
||||
|
@ -87,13 +137,32 @@ public abstract class POIDataSamples {
|
|||
|
||||
/**
|
||||
*
|
||||
* @param classPathTest test file to check if the resources are avaiable from the classpath
|
||||
* @param sampleFileName the name of the test file
|
||||
* @return
|
||||
* @throws RuntimeException if the file was not found
|
||||
*/
|
||||
private void initialise(String classPathTest) {
|
||||
String dataDirName = System.getProperty(_testDataDir);
|
||||
public File getFile(String sampleFileName) {
|
||||
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.length() > 0 && !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);
|
||||
}
|
||||
return f;
|
||||
}
|
||||
|
||||
private void initialise() {
|
||||
String dataDirName = System.getProperty(TEST_PROPERTY);
|
||||
if (dataDirName == null) {
|
||||
// check to see if we can just get the resources from the classpath
|
||||
InputStream is = openClasspathResource(classPathTest);
|
||||
InputStream is = openClasspathResource("");
|
||||
if (is != null) {
|
||||
try {
|
||||
is.close(); // be nice
|
||||
|
@ -104,14 +173,12 @@ public abstract class POIDataSamples {
|
|||
return;
|
||||
}
|
||||
|
||||
throw new RuntimeException("Must set system property '"
|
||||
+ _testDataDir + "' before running tests");
|
||||
throw new RuntimeException("Must set system property '" +
|
||||
TEST_PROPERTY + "' before running tests");
|
||||
}
|
||||
File dataDir = new File(dataDirName);
|
||||
File dataDir = new File(dataDirName, _moduleDir);
|
||||
if (!dataDir.exists()) {
|
||||
throw new RuntimeException("Data dir '" + dataDirName
|
||||
+ "' specified by system property '" + _testDataDir
|
||||
+ "' does not exist");
|
||||
throw new RuntimeException("Data dir '" + _moduleDir + " does not exist");
|
||||
}
|
||||
// convert to canonical file, to make any subsequent error messages
|
||||
// clearer.
|
||||
|
@ -129,7 +196,7 @@ public abstract class POIDataSamples {
|
|||
* @return <code>null</code> if the sample file is not deployed on the classpath.
|
||||
*/
|
||||
private InputStream openClasspathResource(String sampleFileName) {
|
||||
return getClass().getResourceAsStream("data/" + sampleFileName);
|
||||
return getClass().getResourceAsStream("/" + _moduleDir + "/" + sampleFileName);
|
||||
}
|
||||
|
||||
private static final class NonSeekableInputStream extends InputStream {
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import java.util.Arrays;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Test read/serialize of escher blip records
|
||||
|
@ -30,12 +31,12 @@ import junit.framework.TestCase;
|
|||
* @author Yegor Kozlov
|
||||
*/
|
||||
public final class TestEscherBlipRecord extends TestCase {
|
||||
protected String cwd = System.getProperty("DDF.testdata.path");
|
||||
private static final POIDataSamples _samples = POIDataSamples.getDDFInstance();
|
||||
|
||||
//test reading/serializing of a PNG blip
|
||||
public void testReadPNG() {
|
||||
//provided in bug-44886
|
||||
byte[] data = read(new File(cwd, "Container.dat"));
|
||||
byte[] data = _samples.readFile("Container.dat");
|
||||
|
||||
EscherContainerRecord record = new EscherContainerRecord();
|
||||
record.fillFields(data, 0, new DefaultEscherRecordFactory());
|
||||
|
@ -80,7 +81,7 @@ public final class TestEscherBlipRecord extends TestCase {
|
|||
//test reading/serializing of a PICT metafile
|
||||
public void testReadPICT() {
|
||||
//provided in bug-44886
|
||||
byte[] data = read(new File(cwd, "Container.dat"));
|
||||
byte[] data = _samples.readFile("Container.dat");
|
||||
|
||||
EscherContainerRecord record = new EscherContainerRecord();
|
||||
record.fillFields(data, 0, new DefaultEscherRecordFactory());
|
||||
|
@ -131,7 +132,7 @@ public final class TestEscherBlipRecord extends TestCase {
|
|||
|
||||
//integral test: check that the read-write-read round trip is consistent
|
||||
public void testContainer() {
|
||||
byte[] data = read(new File(cwd, "Container.dat"));
|
||||
byte[] data = _samples.readFile("Container.dat");
|
||||
|
||||
EscherContainerRecord record = new EscherContainerRecord();
|
||||
record.fillFields(data, 0, new DefaultEscherRecordFactory());
|
||||
|
@ -156,7 +157,7 @@ public final class TestEscherBlipRecord extends TestCase {
|
|||
* The test data was created from pl031405.xls attached to Bugzilla #47143
|
||||
*/
|
||||
public void test47143() {
|
||||
byte[] data = read(new File(cwd, "47143.dat"));
|
||||
byte[] data = _samples.readFile("47143.dat");
|
||||
EscherBSERecord bse = new EscherBSERecord();
|
||||
bse.fillFields(data, 0, new DefaultEscherRecordFactory());
|
||||
bse.toString(); //assert that toString() works
|
||||
|
|
|
@ -25,16 +25,13 @@ import junit.framework.TestCase;
|
|||
import org.apache.poi.util.HexRead;
|
||||
import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.IOUtils;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* Tests for {@link EscherContainerRecord}
|
||||
*/
|
||||
public final class TestEscherContainerRecord extends TestCase {
|
||||
private String ESCHER_DATA_PATH;
|
||||
|
||||
protected void setUp() {
|
||||
ESCHER_DATA_PATH = System.getProperty("DDF.testdata.path");
|
||||
}
|
||||
private static final POIDataSamples _samples = POIDataSamples.getDDFInstance();
|
||||
|
||||
public void testFillFields() {
|
||||
EscherRecordFactory f = new DefaultEscherRecordFactory();
|
||||
|
@ -151,11 +148,7 @@ public final class TestEscherContainerRecord extends TestCase {
|
|||
* but hopefully we now read the correct size.
|
||||
*/
|
||||
public void testBug44857() throws Exception {
|
||||
File f = new File(ESCHER_DATA_PATH, "Container.dat");
|
||||
assertTrue(f.exists());
|
||||
|
||||
FileInputStream finp = new FileInputStream(f);
|
||||
byte[] data = IOUtils.toByteArray(finp);
|
||||
byte[] data = _samples.readFile("Container.dat");
|
||||
|
||||
// This used to fail with an OutOfMemory
|
||||
EscherContainerRecord record = new EscherContainerRecord();
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
|
||||
package org.apache.poi.hpsf.basic;
|
||||
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileFilter;
|
||||
import java.util.logging.Logger;
|
||||
|
@ -30,6 +32,7 @@ import java.util.logging.Logger;
|
|||
* href="mailto:klute@rainer-klute.de"><klute@rainer-klute.de></a>
|
||||
*/
|
||||
public class AllDataFilesTester {
|
||||
private static final POIDataSamples _samples = POIDataSamples.getHPSFInstance();
|
||||
|
||||
/**
|
||||
* <p>Interface specifying how to run a test on a single file.</p>
|
||||
|
@ -56,8 +59,8 @@ public class AllDataFilesTester {
|
|||
*/
|
||||
public void runTests(final TestTask task) throws Throwable
|
||||
{
|
||||
final String dataDirName = System.getProperty("HPSF.testdata.path");
|
||||
final File dataDir = new File(dataDirName);
|
||||
POIDataSamples _samples = POIDataSamples.getHPSFInstance();
|
||||
final File dataDir = _samples.getFile("");
|
||||
final File[] docs = dataDir.listFiles(new FileFilter()
|
||||
{
|
||||
public boolean accept(final File file)
|
||||
|
|
|
@ -37,6 +37,7 @@ import org.apache.poi.hpsf.PropertySetFactory;
|
|||
import org.apache.poi.hpsf.Section;
|
||||
import org.apache.poi.hpsf.SummaryInformation;
|
||||
import org.apache.poi.hpsf.wellknown.SectionIDMap;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* <p>Tests the basic HPSF functionality.</p>
|
||||
|
@ -80,11 +81,10 @@ public final class TestBasic extends TestCase {
|
|||
* @exception FileNotFoundException if the file to be read does not exist.
|
||||
* @exception IOException if any other I/O exception occurs.
|
||||
*/
|
||||
public void setUp() throws FileNotFoundException, IOException
|
||||
public void setUp() throws IOException
|
||||
{
|
||||
final File dataDir =
|
||||
new File(System.getProperty("HPSF.testdata.path"));
|
||||
final File data = new File(dataDir, POI_FS);
|
||||
POIDataSamples samples = POIDataSamples.getHPSFInstance();
|
||||
final File data = samples.getFile(POI_FS);
|
||||
poiFiles = Util.readPOIFiles(data);
|
||||
}
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ import org.apache.poi.hpsf.PropertySet;
|
|||
import org.apache.poi.hpsf.PropertySetFactory;
|
||||
import org.apache.poi.hpsf.SummaryInformation;
|
||||
import org.apache.poi.hpsf.Variant;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* <p>Test case for OLE2 files with empty properties. An empty property's type
|
||||
|
@ -69,9 +70,8 @@ public final class TestEmptyProperties extends TestCase {
|
|||
*/
|
||||
public void setUp() throws FileNotFoundException, IOException
|
||||
{
|
||||
final File dataDir =
|
||||
new File(System.getProperty("HPSF.testdata.path"));
|
||||
final File data = new File(dataDir, POI_FS);
|
||||
POIDataSamples samples = POIDataSamples.getHPSFInstance();
|
||||
final File data = samples.getFile(POI_FS);
|
||||
|
||||
poiFiles = Util.readPOIFiles(data);
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ import java.io.InputStream;
|
|||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.hpsf.PropertySetFactory;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* <p>Tests some HPSF functionality by reading all property sets from all files
|
||||
|
@ -41,8 +42,8 @@ public class TestReadAllFiles extends TestCase {
|
|||
*/
|
||||
public void testReadAllFiles()
|
||||
{
|
||||
final File dataDir =
|
||||
new File(System.getProperty("HPSF.testdata.path"));
|
||||
POIDataSamples _samples = POIDataSamples.getHPSFInstance();
|
||||
final File dataDir = _samples.getFile("");
|
||||
final File[] fileList = dataDir.listFiles(new FileFilter()
|
||||
{
|
||||
public boolean accept(final File f)
|
||||
|
|
|
@ -32,6 +32,7 @@ import org.apache.poi.hpsf.PropertySet;
|
|||
import org.apache.poi.hpsf.PropertySetFactory;
|
||||
import org.apache.poi.hpsf.Section;
|
||||
import org.apache.poi.hpsf.SummaryInformation;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* <p>Tests whether Unicode string can be read from a
|
||||
|
@ -57,9 +58,8 @@ public class TestUnicode extends TestCase {
|
|||
* @exception IOException if any other I/O exception occurs
|
||||
*/
|
||||
protected void setUp() {
|
||||
final File dataDir =
|
||||
new File(System.getProperty("HPSF.testdata.path"));
|
||||
data = new File(dataDir, POI_FS);
|
||||
POIDataSamples samples = POIDataSamples.getHPSFInstance();
|
||||
data = samples.getFile(POI_FS);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -63,6 +63,7 @@ import org.apache.poi.poifs.eventfilesystem.POIFSReaderListener;
|
|||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.util.LittleEndian;
|
||||
import org.apache.poi.util.TempFile;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* <p>Tests HPSF's writing functionality.</p>
|
||||
|
@ -71,6 +72,7 @@ import org.apache.poi.util.TempFile;
|
|||
*/
|
||||
public class TestWrite extends TestCase
|
||||
{
|
||||
private static final POIDataSamples _samples = POIDataSamples.getHPSFInstance();
|
||||
|
||||
static final String POI_FS = "TestHPSFWritingFunctionality.doc";
|
||||
|
||||
|
@ -110,10 +112,7 @@ public class TestWrite extends TestCase
|
|||
*/
|
||||
public void testNoFormatID() throws IOException
|
||||
{
|
||||
final String dataDirName = System.getProperty("HPSF.testdata.path");
|
||||
final File dataDir = new File(dataDirName);
|
||||
final File filename = new File(dataDir, POI_FS);
|
||||
filename.deleteOnExit();
|
||||
final File filename = TempFile.createTempFile(POI_FS, ".doc");
|
||||
|
||||
/* Create a mutable property set with a section that does not have the
|
||||
* formatID set: */
|
||||
|
@ -159,8 +158,7 @@ public class TestWrite extends TestCase
|
|||
public void testWriteEmptyPropertySet()
|
||||
throws IOException, UnsupportedVariantTypeException
|
||||
{
|
||||
final File dataDir =
|
||||
new File(System.getProperty("HPSF.testdata.path"));
|
||||
final File dataDir = _samples.getFile("");
|
||||
final File filename = new File(dataDir, POI_FS);
|
||||
filename.deleteOnExit();
|
||||
|
||||
|
@ -202,8 +200,7 @@ public class TestWrite extends TestCase
|
|||
{
|
||||
final String AUTHOR = "Rainer Klute";
|
||||
final String TITLE = "Test Document";
|
||||
final File dataDir =
|
||||
new File(System.getProperty("HPSF.testdata.path"));
|
||||
final File dataDir = _samples.getFile("");
|
||||
final File filename = new File(dataDir, POI_FS);
|
||||
filename.deleteOnExit();
|
||||
final OutputStream out = new FileOutputStream(filename);
|
||||
|
@ -274,8 +271,7 @@ public class TestWrite extends TestCase
|
|||
final String SECTION1 = "Section 1";
|
||||
final String SECTION2 = "Section 2";
|
||||
|
||||
final File dataDir =
|
||||
new File(System.getProperty("HPSF.testdata.path"));
|
||||
final File dataDir = _samples.getFile("");
|
||||
final File filename = new File(dataDir, POI_FS);
|
||||
filename.deleteOnExit();
|
||||
final OutputStream out = new FileOutputStream(filename);
|
||||
|
@ -673,8 +669,7 @@ public class TestWrite extends TestCase
|
|||
*/
|
||||
public void testRecreate()
|
||||
{
|
||||
final File dataDir =
|
||||
new File(System.getProperty("HPSF.testdata.path"));
|
||||
final File dataDir = _samples.getFile("");
|
||||
final File[] fileList = dataDir.listFiles(new FileFilter()
|
||||
{
|
||||
public boolean accept(final File f)
|
||||
|
|
|
@ -53,6 +53,7 @@ import org.apache.poi.poifs.filesystem.DirectoryEntry;
|
|||
import org.apache.poi.poifs.filesystem.DocumentEntry;
|
||||
import org.apache.poi.poifs.filesystem.DocumentInputStream;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* <p>Tests HPSF's high-level writing functionality for the well-known property
|
||||
|
@ -78,8 +79,8 @@ public class TestWriteWellKnown extends TestCase {
|
|||
|
||||
/**
|
||||
* <p>This test method checks whether DocumentSummary information streams
|
||||
* can be read. This is done by opening all "Test*" files in the directrory
|
||||
* pointed to by the "HPSF.testdata.path" system property, trying to extract
|
||||
* can be read. This is done by opening all "Test*" files in the 'poifs' directrory
|
||||
* pointed to by the "POI.testdata.path" system property, trying to extract
|
||||
* the document summary information stream in the root directory and calling
|
||||
* its get... methods.</p>
|
||||
* @throws IOException
|
||||
|
@ -93,8 +94,8 @@ public class TestWriteWellKnown extends TestCase {
|
|||
NoPropertySetStreamException, MarkUnsupportedException,
|
||||
UnexpectedPropertySetTypeException
|
||||
{
|
||||
final String dataDirName = System.getProperty("HPSF.testdata.path");
|
||||
final File dataDir = new File(dataDirName);
|
||||
POIDataSamples _samples = POIDataSamples.getHPSFInstance();
|
||||
final File dataDir = _samples.getFile("");
|
||||
final File[] docs = dataDir.listFiles(new FileFilter()
|
||||
{
|
||||
public boolean accept(final File file)
|
||||
|
@ -205,8 +206,8 @@ public class TestWriteWellKnown extends TestCase {
|
|||
NoPropertySetStreamException, MarkUnsupportedException,
|
||||
UnexpectedPropertySetTypeException, WritingNotSupportedException
|
||||
{
|
||||
final String dataDirName = System.getProperty("HPSF.testdata.path");
|
||||
final File dataDir = new File(dataDirName);
|
||||
POIDataSamples _samples = POIDataSamples.getHPSFInstance();
|
||||
final File dataDir = _samples.getFile("");
|
||||
final File doc1 = new File(dataDir, POI_FS);
|
||||
|
||||
/* Read a test document <em>doc1</em> into a POI filesystem. */
|
||||
|
@ -625,8 +626,8 @@ public class TestWriteWellKnown extends TestCase {
|
|||
}
|
||||
};
|
||||
|
||||
final String dataDirName = System.getProperty("HPSF.testdata.path");
|
||||
final File dataDir = new File(dataDirName);
|
||||
POIDataSamples _samples = POIDataSamples.getHPSFInstance();
|
||||
final File dataDir = _samples.getFile("");
|
||||
final File[] docs = dataDir.listFiles(new FileFilter()
|
||||
{
|
||||
public boolean accept(final File file)
|
||||
|
|
|
@ -27,18 +27,15 @@ import org.apache.poi.hssf.extractor.ExcelExtractor;
|
|||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.hssf.HSSFTestDataSamples;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
public final class TestHPSFPropertiesExtractor extends TestCase {
|
||||
private String dir;
|
||||
|
||||
protected void setUp() {
|
||||
dir = System.getProperty("HPSF.testdata.path");
|
||||
assertNotNull("HPSF.testdata.path not set", dir);
|
||||
}
|
||||
private static final POIDataSamples _samples = POIDataSamples.getHPSFInstance();
|
||||
|
||||
public void testNormalProperties() throws Exception {
|
||||
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(
|
||||
new File(dir, "TestMickey.doc")));
|
||||
POIFSFileSystem fs = new POIFSFileSystem(
|
||||
_samples.openResourceAsStream("TestMickey.doc")
|
||||
);
|
||||
HPSFPropertiesExtractor ext = new HPSFPropertiesExtractor(fs);
|
||||
ext.getText();
|
||||
|
||||
|
@ -60,8 +57,9 @@ public final class TestHPSFPropertiesExtractor extends TestCase {
|
|||
}
|
||||
|
||||
public void testNormalUnicodeProperties() throws Exception {
|
||||
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(new File(dir,
|
||||
"TestUnicode.xls")));
|
||||
POIFSFileSystem fs = new POIFSFileSystem(
|
||||
_samples.openResourceAsStream("TestUnicode.xls")
|
||||
);
|
||||
HPSFPropertiesExtractor ext = new HPSFPropertiesExtractor(fs);
|
||||
ext.getText();
|
||||
|
||||
|
@ -83,8 +81,9 @@ public final class TestHPSFPropertiesExtractor extends TestCase {
|
|||
}
|
||||
|
||||
public void testCustomProperties() throws Exception {
|
||||
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(
|
||||
new File(dir, "TestMickey.doc")));
|
||||
POIFSFileSystem fs = new POIFSFileSystem(
|
||||
_samples.openResourceAsStream("TestMickey.doc")
|
||||
);
|
||||
HPSFPropertiesExtractor ext = new HPSFPropertiesExtractor(fs);
|
||||
|
||||
// Custom properties are part of the document info stream
|
||||
|
@ -101,7 +100,9 @@ public final class TestHPSFPropertiesExtractor extends TestCase {
|
|||
POIFSFileSystem fs;
|
||||
HSSFWorkbook wb;
|
||||
try {
|
||||
fs = new POIFSFileSystem(new FileInputStream(new File(dir, "TestUnicode.xls")));
|
||||
fs = new POIFSFileSystem(
|
||||
_samples.openResourceAsStream("TestUnicode.xls")
|
||||
);
|
||||
wb = new HSSFWorkbook(fs);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
|
|
Binary file not shown.
|
@ -21,6 +21,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|||
import org.apache.poi.ss.ITestDataProvider;
|
||||
import org.apache.poi.ss.SpreadsheetVersion;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
* @author Yegor Kozlov
|
||||
|
@ -44,7 +45,7 @@ public final class HSSFITestDataProvider implements ITestDataProvider {
|
|||
}
|
||||
|
||||
public byte[] getTestDataFileContent(String fileName) {
|
||||
return HSSFTestDataSamples.getTestDataFileContent(fileName);
|
||||
return POIDataSamples.getSpreadSheetInstance().readFile(fileName);
|
||||
}
|
||||
|
||||
public SpreadsheetVersion getSpreadsheetVersion(){
|
||||
|
|
|
@ -30,17 +30,9 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|||
*
|
||||
* @author Josh Micich
|
||||
*/
|
||||
public final class HSSFTestDataSamples extends POIDataSamples {
|
||||
public final class HSSFTestDataSamples {
|
||||
|
||||
private static final HSSFTestDataSamples _inst = new HSSFTestDataSamples("HSSF.testdata.path", "SampleSS.xls");
|
||||
|
||||
private HSSFTestDataSamples(String dir, String classPathTestFile){
|
||||
super(dir, classPathTestFile);
|
||||
}
|
||||
|
||||
public static POIDataSamples getInstance(){
|
||||
return _inst;
|
||||
}
|
||||
private static final POIDataSamples _inst = POIDataSamples.getSpreadSheetInstance();
|
||||
|
||||
public static InputStream openSampleFileStream(String sampleFileName) {
|
||||
return _inst.openResourceAsStream(sampleFileName);
|
||||
|
|
|
@ -28,6 +28,8 @@ import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey;
|
|||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.poifs.filesystem.DirectoryNode;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.POIDataSamples;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
@ -214,11 +216,8 @@ public final class TestExcelExtractor extends TestCase {
|
|||
* Embded in a non-excel file
|
||||
*/
|
||||
public void testWithEmbeded() throws Exception {
|
||||
// TODO - encapsulate sys prop 'POIFS.testdata.path' similar to HSSFTestDataSamples
|
||||
String pdirname = System.getProperty("POIFS.testdata.path");
|
||||
String filename = pdirname + "/word_with_embeded.doc";
|
||||
POIFSFileSystem fs = new POIFSFileSystem(
|
||||
new FileInputStream(filename)
|
||||
POIDataSamples.getDocumentInstance().openResourceAsStream("word_with_embeded.doc")
|
||||
);
|
||||
|
||||
DirectoryNode objPool = (DirectoryNode) fs.getRoot().getEntry("ObjectPool");
|
||||
|
@ -244,12 +243,10 @@ public final class TestExcelExtractor extends TestCase {
|
|||
* Excel embeded in excel
|
||||
*/
|
||||
public void testWithEmbededInOwn() throws Exception {
|
||||
// TODO - encapsulate sys prop 'POIFS.testdata.path' similar to HSSFTestDataSamples
|
||||
String pdirname = System.getProperty("POIFS.testdata.path");
|
||||
String filename = pdirname + "/excel_with_embeded.xls";
|
||||
POIDataSamples ssSamples = POIDataSamples.getSpreadSheetInstance();
|
||||
POIFSFileSystem fs = new POIFSFileSystem(
|
||||
new FileInputStream(filename)
|
||||
);
|
||||
ssSamples.openResourceAsStream("excel_with_embeded.xls")
|
||||
);
|
||||
|
||||
DirectoryNode dirA = (DirectoryNode) fs.getRoot().getEntry("MBD0000A3B5");
|
||||
DirectoryNode dirB = (DirectoryNode) fs.getRoot().getEntry("MBD0000A3B4");
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue