<s> import parser <EOL> import unittest <EOL> from test import test_support <EOL> class RoundtripLegalSyntaxTestCase ( unittest . TestCase ) : <EOL> def roundtrip ( self , f , s ) : <EOL> st1 = f ( s ) <EOL> t = st1 . totuple ( ) <EOL> try : <EOL> st2 = parser . sequence2st ( t ) <EOL> except parser . ParserError , why : <EOL> self . fail ( "<STR_LIT>" % ( s , why ) ) <EOL> self . assertEquals ( t , st2 . totuple ( ) , <EOL> "<STR_LIT>" ) <EOL> def check_expr ( self , s ) : <EOL> self . roundtrip ( parser . expr , s ) <EOL> def check_suite ( self , s ) : <EOL> self . roundtrip ( parser . suite , s ) <EOL> def test_yield_statement ( self ) : <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" ) <EOL> def test_expressions ( self ) : <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> self . check_expr ( "<STR_LIT>" ) <EOL> def test_print ( self ) : <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> def test_simple_expression ( self ) : <EOL> self . check_suite ( "<STR_LIT:a>" ) <EOL> def test_simple_assignments ( self ) : <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> def test_simple_augmented_assignments ( self ) : <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> def test_function_defs ( self ) : <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" <EOL> "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" <EOL> "<STR_LIT>" ) <EOL> def test_class_defs ( self ) : <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> def test_import_from_statement ( self ) : <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( <EOL> "<STR_LIT>" ) <EOL> self . check_suite ( <EOL> "<STR_LIT>" ) <EOL> self . check_suite ( <EOL> "<STR_LIT>" ) <EOL> self . check_suite ( <EOL> "<STR_LIT>" ) <EOL> self . check_suite ( <EOL> "<STR_LIT>" ) <EOL> self . check_suite ( <EOL> "<STR_LIT>" ) <EOL> def test_basic_import_statement ( self ) : <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> def test_pep263 ( self ) : <EOL> self . check_suite ( "<STR_LIT>" <EOL> "<STR_LIT>" ) <EOL> def test_assert ( self ) : <EOL> self . check_suite ( "<STR_LIT>" ) <EOL> class IllegalSyntaxTestCase ( unittest . TestCase ) : <EOL> def check_bad_tree ( self , tree , label ) : <EOL> try : <EOL> parser . sequence2st ( tree ) <EOL> except parser . ParserError : <EOL> pass <EOL> else : <EOL> self . fail ( "<STR_LIT>" % label ) <EOL> def test_junk ( self ) : <EOL> self . check_bad_tree ( ( <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ) , "<STR_LIT>" ) <EOL> def test_illegal_yield_1 ( self ) : <EOL> tree = ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT:1> , '<STR_LIT:f>' ) , <EOL> ( <NUM_LIT> , ( <NUM_LIT:7> , '<STR_LIT:(>' ) , ( <NUM_LIT:8> , '<STR_LIT:)>' ) ) , <EOL> ( <NUM_LIT:11> , '<STR_LIT::>' ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT:4> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT:5> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT:2> , '<STR_LIT:1>' ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT:2> , '<STR_LIT:1>' ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) , <EOL> ( <NUM_LIT:4> , '<STR_LIT>' ) ) ) , <EOL> ( <NUM_LIT:6> , '<STR_LIT>' ) ) ) ) ) , <EOL> ( <NUM_LIT:4> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT:0> , '<STR_LIT>' ) ) ) ) <EOL> self . check_bad_tree ( tree , "<STR_LIT>" ) <EOL> def test_illegal_yield_2 ( self ) : <EOL> tree = ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT> , ( <NUM_LIT:1> , '<STR_LIT>' ) ) , <EOL> ( <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT> , ( <NUM_LIT:1> , '<STR_LIT>' ) ) ) ) , <EOL> ( <NUM_LIT:4> , '<STR_LIT>' ) ) ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT:1> , '<STR_LIT:f>' ) , <EOL> ( <NUM_LIT> , ( <NUM_LIT:7> , '<STR_LIT:(>' ) , ( <NUM_LIT:8> , '<STR_LIT:)>' ) ) , <EOL> ( <NUM_LIT:11> , '<STR_LIT::>' ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT:4> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT:5> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT:2> , '<STR_LIT:1>' ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT:2> , '<STR_LIT:1>' ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) , <EOL> ( <NUM_LIT:4> , '<STR_LIT>' ) ) ) , <EOL> ( <NUM_LIT:6> , '<STR_LIT>' ) ) ) ) ) , <EOL> ( <NUM_LIT:4> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT:0> , '<STR_LIT>' ) ) ) ) <EOL> self . check_bad_tree ( tree , "<STR_LIT>" ) <EOL> def test_print_chevron_comma ( self ) : <EOL> tree = ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT:1> , '<STR_LIT>' ) ) ) ) ) ) ) ) ) ) ) ) ) ) , <EOL> ( <NUM_LIT:12> , '<STR_LIT:U+002C>' ) ) ) , <EOL> ( <NUM_LIT:4> , '<STR_LIT>' ) ) ) , <EOL> ( <NUM_LIT:0> , '<STR_LIT>' ) ) <EOL> self . check_bad_tree ( tree , "<STR_LIT>" ) <EOL> def test_a_comma_comma_c ( self ) : <EOL> tree = ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT:1> , '<STR_LIT:a>' ) ) ) ) ) ) ) ) ) ) ) ) ) ) , <EOL> ( <NUM_LIT:12> , '<STR_LIT:U+002C>' ) , <EOL> ( <NUM_LIT:12> , '<STR_LIT:U+002C>' ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT:1> , '<STR_LIT:c>' ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) , <EOL> ( <NUM_LIT:4> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT:0> , '<STR_LIT>' ) ) <EOL> self . check_bad_tree ( tree , "<STR_LIT>" ) <EOL> def test_illegal_operator ( self ) : <EOL> tree = ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT:1> , '<STR_LIT:a>' ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) , <EOL> ( <NUM_LIT> , ( <NUM_LIT> , '<STR_LIT>' ) ) , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT> , ( <NUM_LIT:1> , '<STR_LIT:b>' ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) , <EOL> ( <NUM_LIT:4> , '<STR_LIT>' ) ) ) , <EOL> ( <NUM_LIT:0> , '<STR_LIT>' ) ) <EOL> self . check_bad_tree ( tree , "<STR_LIT>" ) <EOL> def test_malformed_global ( self ) : <EOL> tree = ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , <EOL> ( <NUM_LIT> , ( <NUM_LIT:1> , '<STR_LIT:foo>' ) ) ) , ( <NUM_LIT:4> , '<STR_LIT>' ) ) ) , <EOL> ( <NUM_LIT:4> , '<STR_LIT>' ) , <EOL> ( <NUM_LIT:0> , '<STR_LIT>' ) ) <EOL> self . check_bad_tree ( tree , "<STR_LIT>" ) <EOL> class CompileTestCase ( unittest . TestCase ) : <EOL> def test_compile_expr ( self ) : <EOL> st = parser . expr ( '<STR_LIT>' ) <EOL> code = parser . compilest ( st ) <EOL> self . assertEquals ( eval ( code ) , <NUM_LIT:5> ) <EOL> def test_compile_suite ( self ) : <EOL> st = parser . suite ( '<STR_LIT>' ) <EOL> code = parser . compilest ( st ) <EOL> globs = { } <EOL> exec code in globs <EOL> self . assertEquals ( globs [ '<STR_LIT:y>' ] , <NUM_LIT:5> ) <EOL> def test_compile_error ( self ) : <EOL> st = parser . suite ( '<STR_LIT>' ) <EOL> self . assertRaises ( SyntaxError , parser . compilest , st ) <EOL> def test_main ( ) : <EOL> test_support . run_unittest ( <EOL> RoundtripLegalSyntaxTestCase , <EOL> IllegalSyntaxTestCase , <EOL> CompileTestCase , <EOL> ) <EOL> if __name__ == "<STR_LIT:__main__>" : <EOL> test_main ( ) </s>
