Author: nick
Date: Thu Apr 24 14:52:09 2014
New Revision: 1589759
URL: http://svn.apache.org/r1589759
Log:
Two more test files from Stefan Kopf for bug #56164, and unit tests which use
them
Added:
poi/trunk/test-data/openxml4j/CorePropertiesHasEntities.ooxml (with props)
poi/trunk/test-data/openxml4j/PackageRelsHasEntities.ooxml (with props)
Modified:
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java
Modified:
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java?rev=1589759&r1=1589758&r2=1589759&view=diff
==============================================================================
---
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java
(original)
+++
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java
Thu Apr 24 14:52:09 2014
@@ -21,6 +21,7 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -33,8 +34,8 @@ import org.apache.poi.openxml4j.exceptio
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
import org.apache.poi.openxml4j.util.Nullable;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
public final class TestPackageCoreProperties extends TestCase {
private static final POILogger logger =
POILogFactory.getLogger(TestPackageCoreProperties.class);
@@ -180,6 +181,9 @@ public final class TestPackageCoreProper
props.setModifiedProperty(strDate);
assertEquals(strDate, props.getModifiedPropertyString());
assertEquals(date, props.getModifiedProperty().getValue());
+
+ // Tidy
+ pkg.close();
}
public void testGetPropertiesLO() throws Exception {
@@ -197,4 +201,29 @@ public final class TestPackageCoreProper
props2.setTitleProperty("Bug 51444 fixed");
}
+ public void testEntitiesInCoreProps_56164() throws Exception {
+ InputStream is =
OpenXML4JTestDataSamples.openSampleStream("CorePropertiesHasEntities.ooxml");
+ OPCPackage p = OPCPackage.open(is);
+ is.close();
+
+ // Should have 3 root relationships
+ boolean foundDocRel = false, foundCorePropRel = false, foundExtPropRel
= false;
+ for (PackageRelationship pr : p.getRelationships()) {
+ if
(pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_DOCUMENT))
+ foundDocRel = true;
+ if
(pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_PROPERTIES))
+ foundCorePropRel = true;
+ if
(pr.getRelationshipType().equals(PackageRelationshipTypes.EXTENDED_PROPERTIES))
+ foundExtPropRel = true;
+ }
+ assertTrue("Core/Doc Relationship not found in " +
p.getRelationships(), foundDocRel);
+ assertTrue("Core Props Relationship not found in " +
p.getRelationships(), foundCorePropRel);
+ assertTrue("Ext Props Relationship not found in " +
p.getRelationships(), foundExtPropRel);
+
+ // Get the Core Properties
+ PackagePropertiesPart props =
(PackagePropertiesPart)p.getPackageProperties();
+
+ // Check
+ assertEquals("Stefan Kopf", props.getCreatorProperty().getValue());
+ }
}
Modified:
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java?rev=1589759&r1=1589758&r2=1589759&view=diff
==============================================================================
---
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java
(original)
+++
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java
Thu Apr 24 14:52:09 2014
@@ -17,15 +17,18 @@
package org.apache.poi.openxml4j.opc;
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
import java.net.URI;
import java.util.regex.Pattern;
import junit.framework.TestCase;
import org.apache.poi.openxml4j.OpenXML4JTestDataSamples;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
+import org.apache.poi.xwpf.usermodel.XWPFRelation;
public class TestRelationships extends TestCase {
@@ -309,6 +312,7 @@ public class TestRelationships extends T
URI rel1 = parent.relativize(rId1.getTargetURI());
URI rel11 =
PackagingURIHelper.relativizeURI(drawingPart.getPartName().getURI(),
rId1.getTargetURI());
assertEquals("'Another Sheet'!A1", rel1.getFragment());
+ assertEquals("'Another Sheet'!A1", rel11.getFragment());
PackageRelationship rId2 = drawingPart.getRelationship("rId2");
URI rel2 =
PackagingURIHelper.relativizeURI(drawingPart.getPartName().getURI(),
rId2.getTargetURI());
@@ -390,6 +394,45 @@ public class TestRelationships extends T
targetUri = rId1.getTargetURI();
assertEquals("mailto:[email protected]%C2%A0",
targetUri.toASCIIString());
assertEquals("[email protected]\u00A0",
targetUri.getSchemeSpecificPart());
+ }
+
+ public void testEntitiesInRels_56164() throws Exception {
+ InputStream is =
OpenXML4JTestDataSamples.openSampleStream("PackageRelsHasEntities.ooxml");
+ OPCPackage p = OPCPackage.open(is);
+ is.close();
+ // Should have 3 root relationships
+ boolean foundDocRel = false, foundCorePropRel = false, foundExtPropRel
= false;
+ for (PackageRelationship pr : p.getRelationships()) {
+ if
(pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_DOCUMENT))
+ foundDocRel = true;
+ if
(pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_PROPERTIES))
+ foundCorePropRel = true;
+ if
(pr.getRelationshipType().equals(PackageRelationshipTypes.EXTENDED_PROPERTIES))
+ foundExtPropRel = true;
+ }
+ assertTrue("Core/Doc Relationship not found in " +
p.getRelationships(), foundDocRel);
+ assertTrue("Core Props Relationship not found in " +
p.getRelationships(), foundCorePropRel);
+ assertTrue("Ext Props Relationship not found in " +
p.getRelationships(), foundExtPropRel);
+
+ // Should have normal work parts
+ 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);
}
}
Added: poi/trunk/test-data/openxml4j/CorePropertiesHasEntities.ooxml
URL:
http://svn.apache.org/viewvc/poi/trunk/test-data/openxml4j/CorePropertiesHasEntities.ooxml?rev=1589759&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/test-data/openxml4j/CorePropertiesHasEntities.ooxml
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/test-data/openxml4j/PackageRelsHasEntities.ooxml
URL:
http://svn.apache.org/viewvc/poi/trunk/test-data/openxml4j/PackageRelsHasEntities.ooxml?rev=1589759&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/test-data/openxml4j/PackageRelsHasEntities.ooxml
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]