def test_default_chain(self): s = SchemaStructureNode() s.key = "root" s.add_title("root", "en", primary=True) s.add_title("alt root", "en") s2 = SchemaStructureNode() s2.key = "default" s2.default = True s2.append_to(s) j = JaggedArrayNode() j.key = "default" j.depth = 1 j.default = True j.sectionNames = ["Foo"] j.addressTypes = ["Integer"] j.append_to(s2) s.validate() assert s.has_numeric_continuation() assert s2.has_numeric_continuation() assert j.has_numeric_continuation() assert not s.has_titled_continuation() assert not s2.has_titled_continuation() assert not j.has_titled_continuation()
def test_presentation_and_default(self): s = SchemaStructureNode() s.key = "root" s.add_title("root", "en", primary=True) j2 = JaggedArrayNode() j2.key = "default" j2.default = True j2.depth = 1 j2.sectionNames = ["Foo"] j2.addressTypes = ["Integer"] s.append(j2) assert not s.has_titled_continuation() j = JaggedArrayNode() j.key = "child1" j.depth = 1 j.sectionNames = ["Foo"] j.addressTypes = ["Integer"] j.add_title("Child 1", "en", primary=True) j.add_title("Sweet Child", "en", presentation="alone") j.add_title("Sweet Child of Mine", "en", presentation="both") s.append(j) s.validate() assert s.has_titled_continuation() assert s.has_numeric_continuation() assert not j.has_titled_continuation() assert not j2.has_titled_continuation() assert j2.has_numeric_continuation() assert j.has_numeric_continuation() td = s.title_dict() assert len(td) == 7 target = { 'root': j2, 'root, Child 1': j, 'root, Sweet Child of Mine': j, 'root Child 1': j, 'root Sweet Child of Mine': j, 'Sweet Child of Mine': j, 'Sweet Child': j, } assert td == target