From 0c47a825bae96f0737f6d81a78b2138ababce646 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 1 Dec 2013 12:22:12 +0000 Subject: Add parsing for numbering.xml --- tests/docx/numbering_xml_tests.py | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 tests/docx/numbering_xml_tests.py (limited to 'tests') 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) -- cgit v1.2.3