From 4e9396324c6d720484e639e449382280aa7e14fe Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 27 Jan 2018 18:07:50 +0000 Subject: Add tests for findPartPaths --- .../mammoth/tests/docx/DocumentReaderTests.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/test') diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/DocumentReaderTests.java b/src/test/java/org/zwobble/mammoth/tests/docx/DocumentReaderTests.java index cfcc4e9..ddccd9c 100644 --- a/src/test/java/org/zwobble/mammoth/tests/docx/DocumentReaderTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/docx/DocumentReaderTests.java @@ -1,5 +1,6 @@ package org.zwobble.mammoth.tests.docx; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.zwobble.mammoth.internal.archives.Archive; import org.zwobble.mammoth.internal.archives.InMemoryArchive; @@ -82,4 +83,39 @@ public class DocumentReaderTests { ); assertThat(exception.getMessage(), equalTo("java.io.IOException: Could not find main document part. Are you sure this is a valid .docx file?")); } + + @Nested + public class PartPathTests { + @Test + public void mainDocumentPartIsFoundUsingPackageRelationships() { + InMemoryArchive archive = InMemoryArchive.fromStrings(map( + "word/document2.xml", " ", + "_rels/.rels", XmlWriter.toString( + element("Relationships", list( + element("Relationship", map( + "Id", "rId1", + "Target", "/word/document2.xml", + "Type", "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" + )) + )), + relationshipsNamespaces + ) + )); + + DocumentReader.PartPaths partPaths = DocumentReader.findPartPaths(archive); + + assertThat(partPaths.getMainDocument(), equalTo("word/document2.xml")); + } + + @Test + public void whenRelationshipForMainDocumentCannotBeFoundThenFallbackIsUsed() { + InMemoryArchive archive = InMemoryArchive.fromStrings(map( + "word/document.xml", " " + )); + + DocumentReader.PartPaths partPaths = DocumentReader.findPartPaths(archive); + + assertThat(partPaths.getMainDocument(), equalTo("word/document.xml")); + } + } } -- cgit v1.2.3