diff options
Diffstat (limited to 'src/test/java/org')
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlReaderMakers.java | 5 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/docx/DocumentReaderTests.java | 60 |
2 files changed, 65 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlReaderMakers.java b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlReaderMakers.java index acbf95f..1a172ce 100644 --- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlReaderMakers.java +++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlReaderMakers.java @@ -23,6 +23,11 @@ public class BodyXmlReaderMakers { } @Override + public boolean exists(String name) { + throw new UnsupportedOperationException(); + } + + @Override public void close() throws IOException { } }), diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/DocumentReaderTests.java b/src/test/java/org/zwobble/mammoth/tests/docx/DocumentReaderTests.java new file mode 100644 index 0000000..d7f1a11 --- /dev/null +++ b/src/test/java/org/zwobble/mammoth/tests/docx/DocumentReaderTests.java @@ -0,0 +1,60 @@ +package org.zwobble.mammoth.tests.docx; + +import org.junit.jupiter.api.Test; +import org.zwobble.mammoth.internal.archives.InMemoryArchive; +import org.zwobble.mammoth.internal.documents.Document; +import org.zwobble.mammoth.internal.docx.DocumentReader; +import org.zwobble.mammoth.internal.results.InternalResult; +import org.zwobble.mammoth.internal.xml.NamespacePrefixes; +import org.zwobble.mammoth.internal.xml.XmlWriter; + +import java.util.Optional; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.zwobble.mammoth.internal.util.Lists.list; +import static org.zwobble.mammoth.internal.util.Maps.map; +import static org.zwobble.mammoth.internal.xml.XmlNodes.element; +import static org.zwobble.mammoth.internal.xml.XmlNodes.text; +import static org.zwobble.mammoth.tests.ResultMatchers.isInternalSuccess; +import static org.zwobble.mammoth.tests.documents.DocumentElementMakers.*; + +public class DocumentReaderTests { + private final NamespacePrefixes mainDocumentNamespaces = NamespacePrefixes.builder() + .put("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main") + .build(); + private final NamespacePrefixes relationshipsNamespaces = NamespacePrefixes.builder() + .defaultPrefix("http://schemas.openxmlformats.org/package/2006/relationships") + .build(); + + @Test + public void mainDocumentIsFoundUsingPackageRelationships() { + InternalResult<Document> result = DocumentReader.readDocument(Optional.empty(), InMemoryArchive.fromStrings(map( + "word/document2.xml", XmlWriter.toString( + element("w:document", list( + element("w:body", list( + element("w:p", list( + element("w:r", list( + element("w:t", list(text("Hello."))) + )) + )) + )) + )), + mainDocumentNamespaces + ), + "_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 + ) + ))); + + assertThat(result, isInternalSuccess(document( + withChildren(paragraphWithText("Hello.")) + ))); + } +} |
