diff options
author | Nick Burch <nick@apache.org> | 2008-05-27 12:36:00 +0000 |
---|---|---|
committer | Nick Burch <nick@apache.org> | 2008-05-27 12:36:00 +0000 |
commit | 21dc97110af112fb338c1b05283a67be70939286 (patch) | |
tree | 5d42b73e062260b3898262ae7904236493a84d41 /src/ooxml/testcases/org/apache/poi/TestEmbeded.java | |
parent | 429aba5ca8be4f2addbc841a0ec8bc95e532ea64 (diff) | |
download | poi-21dc97110af112fb338c1b05283a67be70939286.tar.gz poi-21dc97110af112fb338c1b05283a67be70939286.zip |
More merging, plus tests for embeded ooxml files
git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@660488 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/ooxml/testcases/org/apache/poi/TestEmbeded.java')
-rw-r--r-- | src/ooxml/testcases/org/apache/poi/TestEmbeded.java | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/ooxml/testcases/org/apache/poi/TestEmbeded.java b/src/ooxml/testcases/org/apache/poi/TestEmbeded.java new file mode 100644 index 0000000000..5e127e21c6 --- /dev/null +++ b/src/ooxml/testcases/org/apache/poi/TestEmbeded.java @@ -0,0 +1,83 @@ + +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ + + +package org.apache.poi; + +import java.io.File; +import java.util.Iterator; + +import org.apache.poi.util.IOUtils; +import org.apache.poi.xslf.XSLFSlideShow; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.apache.poi.xwpf.XWPFDocument; +import org.openxml4j.opc.Package; +import org.openxml4j.opc.PackagePart; + +import junit.framework.TestCase; + +/** + * Class to test that we handle embeded bits in + * OOXML files properly + */ +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.xlsx"); + assertTrue(f.exists()); + + POIXMLDocument doc = new XSSFWorkbook(Package.open(f.toString())); + test(doc, 0); + } + + public void testWord() throws Exception { + File f = new File(dirname, "WordWithAttachments.docx"); + assertTrue(f.exists()); + + POIXMLDocument doc = new XWPFDocument(Package.open(f.toString())); + test(doc, 4); + } + + public void testPowerPoint() throws Exception { + File f = new File(dirname, "PPTWithAttachments.pptx"); + assertTrue(f.exists()); + + POIXMLDocument doc = new XSLFSlideShow(Package.open(f.toString())); + test(doc, 0); + } + + private void test(POIXMLDocument doc, int expectedCount) throws Exception { + assertNotNull(doc.getAllEmbedds()); + assertEquals(expectedCount, doc.getAllEmbedds().size()); + + for(int i=0; i<doc.getAllEmbedds().size(); i++) { + PackagePart pp = doc.getAllEmbedds().get(i); + assertNotNull(pp); + + byte[] b = IOUtils.toByteArray(pp.getInputStream()); + assertTrue(b.length > 0); + } + } +} |