def test_postorder_2(self): header1 = CWTagNode('h1', {}, [ CWTextNode('Header 1 text') ]) header2 = CWTagNode('h1', {}, [ CWTextNode('Header 2 text') ]) tree = CWTree(CWRootNode([ CWDocumentNode('doc 1', [header1]), CWDocumentNode('doc 2', [header2]), ])) self.assertEqual( [node.name for node in tree.postorder_traversal_allowing_ancestor_mutations()], ['Text', 'h1', 'Document', 'Text', 'h1', 'Document', 'Root'])
def test_postorder(self): tree = CWTree(CWRootNode([ CWDocumentNode('doc', [ CWNode('a'), CWNode('b', [ CWNode('x'), CWNode('y'), ]), CWNode('c'), ]) ])) self.assertEqual( [node.name for node in tree.postorder_traversal()], ['a', 'x', 'y', 'b', 'c', 'Document', 'Root']) self.assertEqual( [node.name for node in tree.postorder_traversal_allowing_ancestor_mutations()], ['a', 'x', 'y', 'b', 'c', 'Document', 'Root'])