示例#1
0
def test_subelement():
    parent = Element("parent")

    child0 = SubElement(parent, "child0")
    assert parent[0].tag == "child0"
    assert parent[0].attrib == {}
    assert parent[0].text is None
    assert parent[0].tail is None

    child1 = SubElement(parent, "child1", dict(a=0, b=1))
    assert parent[1].tag == "child1"
    assert parent[1].attrib == {"a": 0, "b": 1}
    assert parent[1].text is None
    assert parent[1].tail is None

    child2 = SubElement(parent, "child2", a=0, b=1)
    assert parent[2].tag == "child2"
    assert parent[2].attrib == {"a": 0, "b": 1}
    assert parent[2].text is None
    assert parent[2].tail is None

    child3 = SubElement(parent, "child3", dict(a=0, b=1), c=2)
    assert parent[3].tag == "child3"
    assert parent[3].attrib == {"a": 0, "b": 1, "c": 2}
    assert parent[3].text is None
    assert parent[3].tail is None

    assert parent.getchildren() == [child0, child1, child2, child3]
示例#2
0
def test_element_children():
    parent = Element("parent")
    parent.append(Element("child0"))
    parent.append(Element("child1"))
    parent.append(Element("child2"))
    parent.append(Element("child3"))

    assert len(parent) == 4
    assert parent[0].tag == "child0"
    assert parent[3].tag == "child3"

    parent[3] = Element("child4")
    assert parent[3].tag == "child4"

    del parent[3]
    assert len(parent) == 3

    child0, child1 = parent[:2]
    assert child0.tag == "child0"
    assert child1.tag == "child1"

    parent[:2] = Element("firstone"), Element("firsttwo")
    assert parent[0].tag == "firstone"
    assert parent[1].tag == "firsttwo"

    del parent[:2]
    assert len(parent) == 1
    print parent[0].tag
    assert parent[0].tag == "child2"

    parent.insert(0, Element("insert1"))
    parent.insert(0, Element("insert0"))
    assert parent[0].tag == "insert0"
    assert parent[1].tag == "insert1"

    assert len(parent) == 3
    child = parent[-1]
    parent.remove(child)
    assert len(parent) == 2

    children = parent.getchildren()
    assert len(children) == 2
    assert children[0].tag == "insert0"
    assert children[1].tag == "insert1"

    parent.clear()
    assert parent.tag == "parent"
    assert len(parent) == 0