Another content types test, for #55026

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1570002 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2014-02-20 00:06:34 +00:00
parent 6c24cb7020
commit 8f6ea0f8a8
3 changed files with 30 additions and 2 deletions

View File

@ -107,6 +107,12 @@ public final class XWPFRelation extends POIXMLRelation {
"/word/footer#.xml", "/word/footer#.xml",
XWPFFooter.class XWPFFooter.class
); );
public static final XWPFRelation THEME = new XWPFRelation(
"application/vnd.openxmlformats-officedocument.theme+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",
"/word/theme/theme#.xml",
null
);
public static final XWPFRelation HYPERLINK = new XWPFRelation( public static final XWPFRelation HYPERLINK = new XWPFRelation(
null, null,
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink", "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",

View File

@ -24,6 +24,7 @@ import junit.framework.TestCase;
import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; import org.apache.poi.openxml4j.OpenXML4JTestDataSamples;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.opc.internal.ContentType; import org.apache.poi.openxml4j.opc.internal.ContentType;
import org.apache.poi.xwpf.usermodel.XWPFRelation;
/** /**
* Tests for content type (ContentType class). * Tests for content type (ContentType class).
@ -142,8 +143,29 @@ public final class TestContentType extends TestCase {
* OOXML content types don't need entities, but we shouldn't * OOXML content types don't need entities, but we shouldn't
* barf if we get one from a third party system that added them * barf if we get one from a third party system that added them
*/ */
public void testFileWithContentTypeEntities() { public void testFileWithContentTypeEntities() throws Exception {
// TODO InputStream is = OpenXML4JTestDataSamples.openSampleStream("ContentTypeHasEntities.ooxml");
OPCPackage p = OPCPackage.open(is);
// Check we found the contents of it
boolean foundCoreProps = false, foundDocument = false, foundTheme1 = false;
for (PackagePart part : p.getParts()) {
if (part.getPartName().toString().equals("/docProps/core.xml")) {
assertEquals(ContentTypes.CORE_PROPERTIES_PART, part.getContentType());
foundCoreProps = true;
}
if (part.getPartName().toString().equals("/word/document.xml")) {
assertEquals(XWPFRelation.DOCUMENT.getContentType(), part.getContentType());
foundDocument = true;
}
if (part.getPartName().toString().equals("/word/theme/theme1.xml")) {
assertEquals(XWPFRelation.THEME.getContentType(), part.getContentType());
foundTheme1 = true;
}
}
assertTrue("Core not found in " + p.getParts(), foundCoreProps);
assertTrue("Document not found in " + p.getParts(), foundDocument);
assertTrue("Theme1 not found in " + p.getParts(), foundTheme1);
} }
/** /**

Binary file not shown.