aboutsummaryrefslogtreecommitdiff
path: root/tests/docx
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-12-01 12:22:12 +0000
committerMichael Williamson <mike@zwobble.org>2013-12-01 12:22:12 +0000
commit0c47a825bae96f0737f6d81a78b2138ababce646 (patch)
tree28d68ddae77ea4481bc62b4651141335916e20ed /tests/docx
parentd5acaf1071564a9997a330315ea99cdc1017bae7 (diff)
Add parsing for numbering.xml
Diffstat (limited to 'tests/docx')
-rw-r--r--tests/docx/numbering_xml_tests.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/docx/numbering_xml_tests.py b/tests/docx/numbering_xml_tests.py
new file mode 100644
index 0000000..6f4e9ac
--- /dev/null
+++ b/tests/docx/numbering_xml_tests.py
@@ -0,0 +1,43 @@
+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
+
+
+@istest
+def find_level_returns_none_if_num_with_id_cannot_be_found():
+ numbering = read_numbering_xml_element(xml_element("w:numbering"))
+ assert_equal(None, numbering.find_level("47", "0"))
+
+
+_sample_numbering_xml = 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:lvl", {"w:ilvl": "1"}, [
+ xml_element("w:numFmt", {"w:val": "decimal"})
+ ])
+ ]),
+ xml_element("w:num", {"w:numId": "47"}, [
+ xml_element("w:abstractNumId", {"w:val": "42"})
+ ])
+])
+
+
+@istest
+def level_includes_level_index():
+ numbering = read_numbering_xml_element(_sample_numbering_xml)
+ assert_equal("0", numbering.find_level("47", "0").level_index)
+ assert_equal("1", numbering.find_level("47", "1").level_index)
+
+
+@istest
+def list_is_not_ordered_if_formatted_as_bullet():
+ numbering = read_numbering_xml_element(_sample_numbering_xml)
+ assert_equal(False, numbering.find_level("47", "0").is_ordered)
+
+@istest
+def list_is_ordered_if_formatted_as_decimal():
+ numbering = read_numbering_xml_element(_sample_numbering_xml)
+ assert_equal(True, numbering.find_level("47", "1").is_ordered)