symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_transformer.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 import unittest
       
     2 from test import test_support
       
     3 from compiler import transformer, ast
       
     4 from compiler import compile
       
     5 
       
     6 class Tests(unittest.TestCase):
       
     7 
       
     8     def testMultipleLHS(self):
       
     9         """ Test multiple targets on the left hand side. """
       
    10 
       
    11         snippets = ['a, b = 1, 2',
       
    12                     '(a, b) = 1, 2',
       
    13                     '((a, b), c) = (1, 2), 3']
       
    14 
       
    15         for s in snippets:
       
    16             a = transformer.parse(s)
       
    17             assert isinstance(a, ast.Module)
       
    18             child1 = a.getChildNodes()[0]
       
    19             assert isinstance(child1, ast.Stmt)
       
    20             child2 = child1.getChildNodes()[0]
       
    21             assert isinstance(child2, ast.Assign)
       
    22 
       
    23             # This actually tests the compiler, but it's a way to assure the ast
       
    24             # is correct
       
    25             c = compile(s, '<string>', 'single')
       
    26             vals = {}
       
    27             exec c in vals
       
    28             assert vals['a'] == 1
       
    29             assert vals['b'] == 2
       
    30 
       
    31 def test_main():
       
    32     test_support.run_unittest(Tests)
       
    33 
       
    34 if __name__ == "__main__":
       
    35     test_main()