diff options
| -rw-r--r-- | mammoth/docx/body_xml.py | 2 | ||||
| -rw-r--r-- | tests/docx/body_xml_tests.py | 16 |
2 files changed, 14 insertions, 4 deletions
diff --git a/mammoth/docx/body_xml.py b/mammoth/docx/body_xml.py index 2e16c26..22d8440 100644 --- a/mammoth/docx/body_xml.py +++ b/mammoth/docx/body_xml.py @@ -98,7 +98,7 @@ def _create_reader(numbering, content_types, relationships, styles, docx_file, f )) def read_boolean_element(element): - return element and element.attributes.get("w:val") != "false" + return element and element.attributes.get("w:val") not in ["false", "0"] def paragraph(element): diff --git a/tests/docx/body_xml_tests.py b/tests/docx/body_xml_tests.py index 3024bde..ccbd888 100644 --- a/tests/docx/body_xml_tests.py +++ b/tests/docx/body_xml_tests.py @@ -189,14 +189,24 @@ class ReadXmlElementTests(object): ])(istest(func)) @run_boolean_property_test + def run_boolean_property_is_false_if_element_is_present_and_val_is_false(self, attr_name, tag_name): + run = self._read_run_with_properties([xml_element(tag_name, {"w:val": "false"})]) + assert_equal(False, getattr(run, attr_name)) + + @run_boolean_property_test + def run_boolean_property_is_false_if_element_is_present_and_val_is_0(self, attr_name, tag_name): + run = self._read_run_with_properties([xml_element(tag_name, {"w:val": "0"})]) + assert_equal(False, getattr(run, attr_name)) + + @run_boolean_property_test def run_boolean_property_is_true_if_element_is_present_and_val_is_true(self, attr_name, tag_name): run = self._read_run_with_properties([xml_element(tag_name, {"w:val": "true"})]) assert_equal(True, getattr(run, attr_name)) @run_boolean_property_test - def run_boolean_property_is_false_if_element_is_present_and_val_is_false(self, attr_name, tag_name): - run = self._read_run_with_properties([xml_element(tag_name, {"w:val": "false"})]) - assert_equal(False, getattr(run, attr_name)) + def run_boolean_property_is_true_if_element_is_present_and_val_is_1(self, attr_name, tag_name): + run = self._read_run_with_properties([xml_element(tag_name, {"w:val": "1"})]) + assert_equal(True, getattr(run, attr_name)) @istest def run_has_baseline_vertical_alignment_if_vertical_alignment_element_is_not_present(self): |
