final ZipArchiveEntry contentTypeEntry =
zipArchive.getEntry(CONTENT_TYPES_PART_NAME);
if (contentTypeEntry != null) {
+ if (this.contentTypeManager != null) {
+ throw new InvalidFormatException("ContentTypeManager can only be created once. This must be a cyclic relation?");
+ }
try {
this.contentTypeManager = new ZipContentTypeManager(
zipArchive.getInputStream(contentTypeEntry), this);
openInvalidFile("SampleSS.txt", true);
}
+ @Test(expected = InvalidFormatException.class)
+ public void testBug62592() throws Exception {
+ InputStream is = OpenXML4JTestDataSamples.openSampleStream("62592.thmx");
+ OPCPackage p = OPCPackage.open(is);
+ }
+
+ @Test
+ public void testBug62592SequentialCallsToGetParts() throws Exception {
+ //make absolutely certain that sequential calls don't throw InvalidFormatExceptions
+ String originalFile = OpenXML4JTestDataSamples.getSampleFileName("TestPackageCommon.docx");
+ OPCPackage p2 = OPCPackage.open(originalFile, PackageAccess.READ);
+ p2.getParts();
+ p2.getParts();
+ }
+
@Test
public void testDoNotCloseStream() throws IOException {
OutputStream os = Mockito.mock(OutputStream.class);