summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorEmile Anclin <emile.anclin@logilab.fr>2009-03-04 18:31:41 +0100
committerEmile Anclin <emile.anclin@logilab.fr>2009-03-04 18:31:41 +0100
commit26b13aaabaf9ef3cd4e94913d03b8ca397cda13f (patch)
tree31c6e509c1d30555eb5baac185fabc36a99a26b6 /test
parent04aeb4eba1a14c04060e3e94089e4084de2cbd77 (diff)
downloadastroid-git-26b13aaabaf9ef3cd4e94913d03b8ca397cda13f.tar.gz
modify test for If node
--HG-- branch : _ast_compat
Diffstat (limited to 'test')
-rw-r--r--test/unittest_nodes.py60
1 files changed, 11 insertions, 49 deletions
diff --git a/test/unittest_nodes.py b/test/unittest_nodes.py
index 8d6cdd5f..b75c709a 100644
--- a/test/unittest_nodes.py
+++ b/test/unittest_nodes.py
@@ -46,59 +46,21 @@ else:
raise
"""
-IF_STR_REPR = """Module()
- If()
- Const(int)
- Print()
- If()
- True
- Print()
- Pass()
- If()
- Const(str)
- Print()
- List(list)
- Raise()
- If()
- Const(int)
- Print()
- True
- Print()
- CallFunc()
- Name(func)
- Pass()
- Raise()"""
-
-
-def repr_tree(node, result, indent='', _done=None):
- if _done is None:
- _done = set()
- if node in _done:
- result.append('loop in tree: %r (%s)' % (node, node.lineno))
- return
- _done.add(node)
- result.append( indent + str(node) )
- indent += ' '
- for child in node.get_children():
- repr_tree(child, result, indent, _done)
-
-def get_repr_tree(node):
- result = []
- repr_tree(node, result)
- return "\n".join(result)
-
-
class IfNodeTC(unittest.TestCase):
- """test Transformations of If Node"""
+ """test transformation of If Node"""
def test_if_elif_else_node(self):
"""test transformation for If node"""
- astng_tree = abuilder.string_build(IF_CODE)
- astng_repr = get_repr_tree(astng_tree)
- self.assertEqual(IF_STR_REPR, astng_repr)
-
-
-
+ module = abuilder.string_build(IF_CODE)
+ self.assertEquals(len(module.body), 4)
+ for stmt in module.body:
+ self.assertIsInstance( stmt, nodes.If)
+ print "orelse ?", repr(module.body[0].orelse)
+ self.assert_(not module.body[0].orelse) # simple If
+ self.assertIsInstance(module.body[1].orelse[0], nodes.Pass) # If / else
+ self.assertIsInstance(module.body[2].orelse[0], nodes.If) # If / elif
+ self.assertIsInstance(module.body[3].orelse[0].orelse[0], nodes.If)
+
MODULE = abuilder.module_build(test_module)
MODULE2 = abuilder.file_build('data/module2.py', 'data.module2')