/Lib/test/test_transformer.py
http://unladen-swallow.googlecode.com/ · Python · 35 lines · 25 code · 7 blank · 3 comment · 2 complexity · 458ea3aaa4d3c66f485691f7fc3cb0e0 MD5 · raw file
- import unittest
- from test import test_support
- from compiler import transformer, ast
- from compiler import compile
- class Tests(unittest.TestCase):
- def testMultipleLHS(self):
- """ Test multiple targets on the left hand side. """
- snippets = ['a, b = 1, 2',
- '(a, b) = 1, 2',
- '((a, b), c) = (1, 2), 3']
- for s in snippets:
- a = transformer.parse(s)
- assert isinstance(a, ast.Module)
- child1 = a.getChildNodes()[0]
- assert isinstance(child1, ast.Stmt)
- child2 = child1.getChildNodes()[0]
- assert isinstance(child2, ast.Assign)
- # This actually tests the compiler, but it's a way to assure the ast
- # is correct
- c = compile(s, '<string>', 'single')
- vals = {}
- exec c in vals
- assert vals['a'] == 1
- assert vals['b'] == 2
- def test_main():
- test_support.run_unittest(Tests)
- if __name__ == "__main__":
- test_main()