Esempio n. 1
0
 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'])
Esempio n. 2
0
 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'])