aboutsummaryrefslogtreecommitdiff
path: root/tests/docx
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2019-03-17 21:27:34 +0000
committerMichael Williamson <mike@zwobble.org>2019-03-17 21:28:06 +0000
commita45ad007f9c3e366313b0dc8d5b2b31eb43912d0 (patch)
treead78299162e299dc3a4688f730a2a123e384c4f2 /tests/docx
parent65834fa39ee1ea77ef5581bc11e4e6046c6499a6 (diff)
Follow w:numStyleLink in w:abstractNum
Diffstat (limited to 'tests/docx')
-rw-r--r--tests/docx/numbering_xml_tests.py26
1 files changed, 25 insertions, 1 deletions
diff --git a/tests/docx/numbering_xml_tests.py b/tests/docx/numbering_xml_tests.py
index 467d406..b707ba1 100644
--- a/tests/docx/numbering_xml_tests.py
+++ b/tests/docx/numbering_xml_tests.py
@@ -2,7 +2,7 @@ from nose.tools import istest, assert_equal
from mammoth.docx.xmlparser import element as xml_element
from mammoth.docx.numbering_xml import read_numbering_xml_element
-from mammoth.docx.styles_xml import Styles
+from mammoth.docx.styles_xml import NumberingStyle, Styles
@istest
@@ -50,6 +50,30 @@ def find_level_returns_none_if_level_cannot_be_found():
assert_equal(None, numbering.find_level("47", "2"))
+@istest
+def when_abstract_num_has_num_style_link_then_style_is_used_to_find_num():
+ numbering = _read_numbering_xml_element(
+ xml_element("w:numbering", {}, [
+ xml_element("w:abstractNum", {"w:abstractNumId": "100"}, [
+ xml_element("w:lvl", {"w:ilvl": "0"}, [
+ xml_element("w:numFmt", {"w:val": "decimal"}),
+ ]),
+ ]),
+ xml_element("w:abstractNum", {"w:abstractNumId": "101"}, [
+ xml_element("w:numStyleLink", {"w:val": "List1"}),
+ ]),
+ xml_element("w:num", {"w:numId": "200"}, [
+ xml_element("w:abstractNumId", {"w:val": "100"}),
+ ]),
+ xml_element("w:num", {"w:numId": "201"}, [
+ xml_element("w:abstractNumId", {"w:val": "101"}),
+ ])
+ ]),
+ styles=Styles.create(numbering_styles={"List1": NumberingStyle(num_id="200")}),
+ )
+ assert_equal(True, numbering.find_level("201", "0").is_ordered)
+
+
def _read_numbering_xml_element(element, styles=None):
if styles is None:
styles = Styles.EMPTY