diff options
| author | Michael Williamson <mike@zwobble.org> | 2017-11-23 19:54:53 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2017-11-23 19:54:53 +0000 |
| commit | c6e6a2b462d0bc5b7a5ac61d26c907e66cbcc946 (patch) | |
| tree | 0ba9641dea203413923a08b44a8e7f56a5ee99f4 /tests/docx | |
| parent | d44b2df9238e007cfe7bf1becf11b30e1e97d284 (diff) | |
Parse paragraph indents
Diffstat (limited to 'tests/docx')
| -rw-r--r-- | tests/docx/body_xml_tests.py | 55 |
1 files changed, 54 insertions, 1 deletions
diff --git a/tests/docx/body_xml_tests.py b/tests/docx/body_xml_tests.py index d1dd071..067037e 100644 --- a/tests/docx/body_xml_tests.py +++ b/tests/docx/body_xml_tests.py @@ -97,7 +97,7 @@ class ParagraphTests(object): paragraph_xml = xml_element("w:p", {}, [properties_xml]) paragraph = _read_and_get_document_xml_element(paragraph_xml) assert_equal("center", paragraph.alignment) - + @istest def paragraph_has_no_numbering_if_it_has_no_numbering_properties(self): element = xml_element("w:p") @@ -145,6 +145,59 @@ class ParagraphTests(object): @istest +class ParagraphIndentTests(object): + @istest + def when_w_start_is_set_then_start_indent_is_read_from_w_start(self): + paragraph_xml = self._paragraph_with_indent({"w:start": "720", "w:left": "40"}) + paragraph = _read_and_get_document_xml_element(paragraph_xml) + assert_equal("720", paragraph.indent.start) + + @istest + def when_w_start_is_not_set_then_start_indent_is_read_from_w_left(self): + paragraph_xml = self._paragraph_with_indent({"w:left": "720"}) + paragraph = _read_and_get_document_xml_element(paragraph_xml) + assert_equal("720", paragraph.indent.start) + + @istest + def when_w_end_is_set_then_end_indent_is_read_from_w_end(self): + paragraph_xml = self._paragraph_with_indent({"w:end": "720", "w:right": "40"}) + paragraph = _read_and_get_document_xml_element(paragraph_xml) + assert_equal("720", paragraph.indent.end) + + @istest + def when_w_end_is_not_set_then_end_indent_is_read_from_w_right(self): + paragraph_xml = self._paragraph_with_indent({"w:right": "720"}) + paragraph = _read_and_get_document_xml_element(paragraph_xml) + assert_equal("720", paragraph.indent.end) + + @istest + def paragraph_has_indent_first_line_read_from_paragraph_properties_if_present(self): + paragraph_xml = self._paragraph_with_indent({"w:firstLine": "720"}) + paragraph = _read_and_get_document_xml_element(paragraph_xml) + assert_equal("720", paragraph.indent.first_line) + + @istest + def paragraph_has_indent_hanging_read_from_paragraph_properties_if_present(self): + paragraph_xml = self._paragraph_with_indent({"w:hanging": "720"}) + paragraph = _read_and_get_document_xml_element(paragraph_xml) + assert_equal("720", paragraph.indent.hanging) + + @istest + def when_indent_attributes_arent_set_then_indents_are_none(self): + paragraph_xml = self._paragraph_with_indent({}) + paragraph = _read_and_get_document_xml_element(paragraph_xml) + assert_equal(None, paragraph.indent.start) + assert_equal(None, paragraph.indent.end) + assert_equal(None, paragraph.indent.first_line) + assert_equal(None, paragraph.indent.hanging) + + def _paragraph_with_indent(self, attributes): + indent_xml = xml_element("w:ind", attributes) + properties_xml = xml_element("w:pPr", {}, [indent_xml]) + return xml_element("w:p", {}, [properties_xml]) + + +@istest class RunTests(object): @istest def run_has_no_style_if_it_has_no_properties(self): |
