From 999fbc8dc29b87a0f9c4497ec680915ac7ecae26 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 9 Sep 2020 11:28:05 +0100 Subject: Handle underline elements where w:val is "none" --- .../zwobble/mammoth/tests/docx/BodyXmlTests.java | 48 ++++++++++++++++++++-- 1 file changed, 45 insertions(+), 3 deletions(-) (limited to 'src/test/java/org') 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 aaaf1e2..647f54f 100644 --- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java @@ -506,16 +506,58 @@ public class BodyXmlTests { assertThat( readSuccess(bodyReader(), element), - hasProperty("underline", equalTo(false))); + hasProperty("underline", equalTo(false)) + ); } @Test - public void runIsUnderlinedIfUnderlineElementIsPresent() { + public void runIsUnderlinedIfUnderlineElementIsPresentWithoutValAttribute() { XmlElement element = runXmlWithProperties(element("w:u")); assertThat( readSuccess(bodyReader(), element), - hasProperty("underline", equalTo(true))); + hasProperty("underline", equalTo(true)) + ); + } + + @Test + public void runIsNotUnderlinedIfUnderlineElementIsPresentAndValIsFalse() { + XmlElement element = runXmlWithProperties(element("w:u", map("w:val", "false"))); + + assertThat( + readSuccess(bodyReader(), element), + hasProperty("underline", equalTo(false)) + ); + } + + @Test + public void runIsNotUnderlinedIfUnderlineElementIsPresentAndValIs0() { + XmlElement element = runXmlWithProperties(element("w:u", map("w:val", "0"))); + + assertThat( + readSuccess(bodyReader(), element), + hasProperty("underline", equalTo(false)) + ); + } + + @Test + public void runIsNotUnderlinedIfUnderlineElementIsPresentAndValIsNone() { + XmlElement element = runXmlWithProperties(element("w:u", map("w:val", "none"))); + + assertThat( + readSuccess(bodyReader(), element), + hasProperty("underline", equalTo(false)) + ); + } + + @Test + public void runIsUnderlinedIfUnderlineElementIsPresentAndValIsNotNoneNorFalsy() { + XmlElement element = runXmlWithProperties(element("w:u", map("w:val", "single"))); + + assertThat( + readSuccess(bodyReader(), element), + hasProperty("underline", equalTo(true)) + ); } @Test -- cgit v1.2.3