From 32231b57c13c6c7c72d7ab9606cf939b03e38849 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 9 Sep 2020 11:21:47 +0100 Subject: Handle underline elements where w:val is "none" --- tests/docx/body_xml_tests.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/docx/body_xml_tests.py b/tests/docx/body_xml_tests.py index c9863bf..746259c 100644 --- a/tests/docx/body_xml_tests.py +++ b/tests/docx/body_xml_tests.py @@ -252,10 +252,30 @@ class RunTests(object): assert_equal(False, run.is_underline) @istest - def run_is_underlined_if_underline_element_is_present(self): + def run_is_underlined_if_underline_element_is_present_without_val_attribute(self): run = self._read_run_with_properties([xml_element("w:u")]) assert_equal(True, run.is_underline) + @istest + def run_is_not_underlined_if_underline_element_is_present_and_val_is_false(self): + run = self._read_run_with_properties([xml_element("w:u", {"w:val": "false"})]) + assert_equal(False, run.is_underline) + + @istest + def run_is_not_underlined_if_underline_element_is_present_and_val_is_0(self): + run = self._read_run_with_properties([xml_element("w:u", {"w:val": "0"})]) + assert_equal(False, run.is_underline) + + @istest + def run_is_not_underlined_if_underline_element_is_present_and_val_is_none(self): + run = self._read_run_with_properties([xml_element("w:u", {"w:val": "none"})]) + assert_equal(False, run.is_underline) + + @istest + def run_is_underlined_if_underline_element_is_present_and_val_is_not_none_or_falsy(self): + run = self._read_run_with_properties([xml_element("w:u", {"w:val": "single"})]) + assert_equal(True, run.is_underline) + @istest def run_is_not_struckthrough_if_strikethrough_element_is_not_present(self): run = self._read_run_with_properties([]) -- cgit v1.2.3