From 101c77ddd649ec925999c43dee91e65cdeb98d79 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 1 Nov 2021 19:40:11 +0000 Subject: Handle a:blip elements without image file --- .../zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java | 3 +-- .../java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java | 12 ++++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java index b6bd51e..de4a73b 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java @@ -613,8 +613,7 @@ class StatefulBodyXmlReader { String imagePath = relationships.findTargetByRelationshipId(linkRelationshipId.get()); return readImage(imagePath, altText, () -> fileReader.getInputStream(imagePath)); } else { - // TODO: emit warning - return ReadResult.EMPTY_SUCCESS; + return ReadResult.emptyWithWarning("Could not find image file for a:blip element"); } } diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java index a3d315d..cff4338 100644 --- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java @@ -1378,6 +1378,18 @@ public class BodyXmlTests { equalTo(IMAGE_BYTES)); } + @Test + public void warningIfBlipHasNoImageFile() { + XmlElement element = inlineImageXml(element("a:blip"), ""); + + InternalResult result = readAll(bodyReader(), element); + + assertThat(result, isInternalResult( + equalTo(list()), + list("Could not find image file for a:blip element") + )); + } + @Test public void warningIfImageTypeIsUnsupportedByWebBrowsers() { XmlElement element = inlineImageXml(embeddedBlipXml(IMAGE_RELATIONSHIP_ID), ""); -- cgit v1.2.3