aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2017-01-23 20:37:05 +0000
committerMichael Williamson <mike@zwobble.org>2017-01-23 20:37:05 +0000
commit2e819654db985bf8a7e7ed76e0a43dc2f46eec8d (patch)
tree94aced195e17040ef9e616c14f52c7ce89511ddd /src/test/java/org
parent933f21dd728976f1e64cf13b5de0558efaac2911 (diff)
Handle base-relative target URIs
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/MammothTests.java9
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/Uris.java25
2 files changed, 33 insertions, 1 deletions
diff --git a/src/test/java/org/zwobble/mammoth/tests/MammothTests.java b/src/test/java/org/zwobble/mammoth/tests/MammothTests.java
index d7a2b66..ac81c76 100644
--- a/src/test/java/org/zwobble/mammoth/tests/MammothTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/MammothTests.java
@@ -69,13 +69,20 @@ public class MammothTests {
}
@Test
- public void inlineImagesAreIncludedInOutput() throws IOException {
+ public void inlineImagesReferencedByPathRelativeToPartAreIncludedInOutput() throws IOException {
assertThat(
convertToHtml("tiny-picture.docx"),
isSuccess("<p><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAOvgAADr4B6kKxwAAAABNJREFUKFNj/M+ADzDhlWUYqdIAQSwBE8U+X40AAAAASUVORK5CYII=\" /></p>"));
}
@Test
+ public void inlineImagesReferencedByPathRelativeToBaseAreIncludedInOutput() throws IOException {
+ assertThat(
+ convertToHtml("tiny-picture-target-base-relative.docx"),
+ isSuccess("<p><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAOvgAADr4B6kKxwAAAABNJREFUKFNj/M+ADzDhlWUYqdIAQSwBE8U+X40AAAAASUVORK5CYII=\" /></p>"));
+ }
+
+ @Test
public void imagesStoredOutsideOfDocumentAreIncludedInOutput() throws IOException {
Path tempDirectory = Files.createTempDirectory("mammoth-");
try {
diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/Uris.java b/src/test/java/org/zwobble/mammoth/tests/docx/Uris.java
new file mode 100644
index 0000000..36d4bcb
--- /dev/null
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/Uris.java
@@ -0,0 +1,25 @@
+package org.zwobble.mammoth.tests.docx;
+
+import org.junit.Test;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+import static org.zwobble.mammoth.internal.docx.Uris.uriToZipEntryName;
+
+public class Uris {
+ @Test
+ public void whenPathDoesNotHaveLeadingSlashThenPathIsResolvedRelativeToBase() {
+ assertThat(
+ uriToZipEntryName("one/two", "three/four"),
+ equalTo("one/two/three/four")
+ );
+ }
+
+ @Test
+ public void whenPathHasLeadingSlashThenBaseIsIgnored() {
+ assertThat(
+ uriToZipEntryName("one/two", "/three/four"),
+ equalTo("three/four")
+ );
+ }
+}