aboutsummaryrefslogtreecommitdiff
path: root/tests/docx/numbering_xml_tests.py
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2021-01-09 13:52:02 +0000
committerMichael Williamson <mike@zwobble.org>2021-01-09 13:52:02 +0000
commit801b505840b698858c48761c640d52a5fa5ec3fb (patch)
tree00285ea140888c94bde0c17d1cc061b521ca29f0 /tests/docx/numbering_xml_tests.py
parentd1910bc1e649deb9f0f69114b61023458f3d8d2f (diff)
Support numbering defined by paragraph style
Diffstat (limited to 'tests/docx/numbering_xml_tests.py')
-rw-r--r--tests/docx/numbering_xml_tests.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/docx/numbering_xml_tests.py b/tests/docx/numbering_xml_tests.py
index b707ba1..45102c7 100644
--- a/tests/docx/numbering_xml_tests.py
+++ b/tests/docx/numbering_xml_tests.py
@@ -74,6 +74,30 @@ def when_abstract_num_has_num_style_link_then_style_is_used_to_find_num():
assert_equal(True, numbering.find_level("201", "0").is_ordered)
+# See: 17.9.23 pStyle (Paragraph Style's Associated Numbering Level) in ECMA-376, 4th Edition
+@istest
+def numbering_level_can_be_found_by_paragraph_style_id():
+ numbering = _read_numbering_xml_element(
+ xml_element("w:numbering", {}, [
+ xml_element("w:abstractNum", {"w:abstractNumId": "42"}, [
+ xml_element("w:lvl", {"w:ilvl": "0"}, [
+ xml_element("w:numFmt", {"w:val": "bullet"}),
+ ]),
+ ]),
+ xml_element("w:abstractNum", {"w:abstractNumId": "43"}, [
+ xml_element("w:lvl", {"w:ilvl": "0"}, [
+ xml_element("w:pStyle", {"w:val": "List"}),
+ xml_element("w:numFmt", {"w:val": "decimal"}),
+ ]),
+ ]),
+ ]),
+ styles=Styles.create(numbering_styles={"List1": NumberingStyle(num_id="200")}),
+ )
+
+ assert_equal(True, numbering.find_level_by_paragraph_style_id("List").is_ordered)
+ assert_equal(None, numbering.find_level_by_paragraph_style_id("Paragraph"))
+
+
def _read_numbering_xml_element(element, styles=None):
if styles is None:
styles = Styles.EMPTY