@@ -72,6 +72,63 @@ def test_num_referencing_non_existent_abstract_num_is_ignored():
7272 assert_equal (None , numbering .find_level ("47" , "0" ))
7373
7474
75+ def test_given_no_other_levels_with_index_of_0_when_level_is_missing_ilvl_then_level_index_is_0 ():
76+ element = xml_element ("w:numbering" , {}, [
77+ xml_element ("w:abstractNum" , {"w:abstractNumId" : "42" }, [
78+ xml_element ("w:lvl" , {}, [
79+ xml_element ("w:numFmt" , {"w:val" : "decimal" }),
80+ ]),
81+ ]),
82+ xml_element ("w:num" , {"w:numId" : "47" }, [
83+ xml_element ("w:abstractNumId" , {"w:val" : "42" })
84+ ])
85+ ])
86+
87+ numbering = _read_numbering_xml_element (element )
88+
89+ assert_equal (True , numbering .find_level ("47" , "0" ).is_ordered )
90+
91+
92+ def test_given_previous_other_level_with_index_of_0_when_level_is_missing_ilvl_then_level_is_ignored ():
93+ element = xml_element ("w:numbering" , {}, [
94+ xml_element ("w:abstractNum" , {"w:abstractNumId" : "42" }, [
95+ xml_element ("w:lvl" , {"w:ilvl" : "0" }, [
96+ xml_element ("w:numFmt" , {"w:val" : "bullet" }),
97+ ]),
98+ xml_element ("w:lvl" , {}, [
99+ xml_element ("w:numFmt" , {"w:val" : "decimal" }),
100+ ]),
101+ ]),
102+ xml_element ("w:num" , {"w:numId" : "47" }, [
103+ xml_element ("w:abstractNumId" , {"w:val" : "42" })
104+ ])
105+ ])
106+
107+ numbering = _read_numbering_xml_element (element )
108+
109+ assert_equal (False , numbering .find_level ("47" , "0" ).is_ordered )
110+
111+
112+ def test_given_subsequent_other_level_with_index_of_0_when_level_is_missing_ilvl_then_level_is_ignored ():
113+ element = xml_element ("w:numbering" , {}, [
114+ xml_element ("w:abstractNum" , {"w:abstractNumId" : "42" }, [
115+ xml_element ("w:lvl" , {}, [
116+ xml_element ("w:numFmt" , {"w:val" : "decimal" }),
117+ ]),
118+ xml_element ("w:lvl" , {"w:ilvl" : "0" }, [
119+ xml_element ("w:numFmt" , {"w:val" : "bullet" }),
120+ ]),
121+ ]),
122+ xml_element ("w:num" , {"w:numId" : "47" }, [
123+ xml_element ("w:abstractNumId" , {"w:val" : "42" })
124+ ])
125+ ])
126+
127+ numbering = _read_numbering_xml_element (element )
128+
129+ assert_equal (False , numbering .find_level ("47" , "0" ).is_ordered )
130+
131+
75132def test_when_abstract_num_has_num_style_link_then_style_is_used_to_find_num ():
76133 numbering = _read_numbering_xml_element (
77134 xml_element ("w:numbering" , {}, [
0 commit comments