From 85194879a8848f01a8db3f42d8ee6d4f24e6cfdb Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 9 Mar 2022 21:05:53 +0000 Subject: Ignore w:u elements when w:val is missing --- NEWS | 2 ++ .../java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java | 2 +- src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 18095e1..81779f9 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,8 @@ * Emit warning instead of throwing exception when image file cannot be found for a:blip elements. +* Ignore w:u elements when w:val is missing. + # 1.4.2 * Support soft hyphens. 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 de4a73b..326319c 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java @@ -209,7 +209,7 @@ class StatefulBodyXmlReader { return properties.findChild("w:u") .map(child -> child.getAttributeOrNone("w:val") .map(value -> !value.equals("false") && !value.equals("0") && !value.equals("none")) - .orElse(true)) + .orElse(false)) .orElse(false); } 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 cff4338..1898897 100644 --- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java @@ -579,12 +579,12 @@ public class BodyXmlTests { } @Test - public void runIsUnderlinedIfUnderlineElementIsPresentWithoutValAttribute() { + public void runIsNotUnderlinedIfUnderlineElementIsPresentWithoutValAttribute() { XmlElement element = runXmlWithProperties(element("w:u")); assertThat( readSuccess(bodyReader(), element), - hasProperty("underline", equalTo(true)) + hasProperty("underline", equalTo(false)) ); } -- cgit v1.2.3