Exemple #1
0
    def test_copy_sibling(self):
        tracker = self.tracker()

        node = Node("node", "text", tracker.root)
        tracker.root.addchild(node)
        newnode = node.copy()
        tracker.root.addchild(newnode)

        assert list(tracker.root.children) == [node, newnode]
        assert newnode.node_type == node.node_type
        assert newnode.text == node.text
        assert newnode.parent is node.parent
        assert newnode.root is node.root
Exemple #2
0
    def test_copy_newplace(self):
        tracker = self.tracker()

        parent1 = Node("parent1", None, tracker.root)
        parent2 = Node("parent2", None, tracker.root)

        node = Node("node", None, parent1)

        newnode = node.copy(parent2)
        parent2.addchild(newnode)

        assert newnode.node_type == node.node_type
        assert newnode.text == node.text
        assert newnode.parent is parent2
        assert newnode.root is tracker.root
Exemple #3
0
    def test_copy_new_tracker(self):
        tracker1 = self.tracker()
        tracker2 = self.tracker()

        node1 = Node("node", "text", tracker1.root)
        tracker1.root.addchild(node1)
        node1_child = Node("nodechild", None, node1)
        node1.addchild(node1_child)

        node2 = node1.copy(tracker2.root)
        tracker2.root.addchild(node2)

        assert node2.root is tracker2.root
        assert node2.parent is tracker2.root
        node2_child = node2.children.next_neighbor
        assert node2_child.root is tracker2.root
        assert node2_child.parent is node2

        assert node1.node_type == node2.node_type
        assert node1.text == node2.text
        assert node1_child.node_type == node2_child.node_type
        assert node1_child.text == node2_child.text