@@ -335,6 +335,26 @@ def test_non_interned_future_from_ast(self):
335335 mod .body [0 ].module = " __future__ " .strip ()
336336 compile (mod , "<test>" , "exec" )
337337
338+ def test_alias (self ):
339+ im = ast .parse ("from bar import y" ).body [0 ]
340+ self .assertEqual (len (im .names ), 1 )
341+ alias = im .names [0 ]
342+ self .assertEqual (alias .name , 'y' )
343+ self .assertIsNone (alias .asname )
344+ self .assertEqual (alias .lineno , 1 )
345+ self .assertEqual (alias .end_lineno , 1 )
346+ self .assertEqual (alias .col_offset , 16 )
347+ self .assertEqual (alias .end_col_offset , 17 )
348+
349+ im = ast .parse ("from bar import *" ).body [0 ]
350+ alias = im .names [0 ]
351+ self .assertEqual (alias .name , '*' )
352+ self .assertIsNone (alias .asname )
353+ self .assertEqual (alias .lineno , 1 )
354+ self .assertEqual (alias .end_lineno , 1 )
355+ self .assertEqual (alias .col_offset , 16 )
356+ self .assertEqual (alias .end_col_offset , 17 )
357+
338358 def test_base_classes (self ):
339359 self .assertTrue (issubclass (ast .For , ast .stmt ))
340360 self .assertTrue (issubclass (ast .Name , ast .expr ))
@@ -1037,7 +1057,8 @@ def test_bad_integer(self):
10371057
10381058 def test_level_as_none (self ):
10391059 body = [ast .ImportFrom (module = 'time' ,
1040- names = [ast .alias (name = 'sleep' )],
1060+ names = [ast .alias (name = 'sleep' ,
1061+ lineno = 0 , col_offset = 0 )],
10411062 level = None ,
10421063 lineno = 0 , col_offset = 0 )]
10431064 mod = ast .Module (body , [])
@@ -1735,6 +1756,7 @@ def test_import_from_multi_line(self):
17351756 ''' ).strip ()
17361757 imp = ast .parse (s ).body [0 ]
17371758 self ._check_end_pos (imp , 3 , 1 )
1759+ self ._check_end_pos (imp .names [2 ], 2 , 16 )
17381760
17391761 def test_slices (self ):
17401762 s1 = 'f()[1, 2] [0]'
@@ -2095,8 +2117,8 @@ def main():
20952117('Module' , [('Try' , (1 , 0 , 4 , 6 ), [('Pass' , (2 , 2 , 2 , 6 ))], [('ExceptHandler' , (3 , 0 , 4 , 6 ), ('Name' , (3 , 7 , 3 , 16 ), 'Exception' , ('Load' ,)), None , [('Pass' , (4 , 2 , 4 , 6 ))])], [], [])], []),
20962118('Module' , [('Try' , (1 , 0 , 4 , 6 ), [('Pass' , (2 , 2 , 2 , 6 ))], [], [], [('Pass' , (4 , 2 , 4 , 6 ))])], []),
20972119('Module' , [('Assert' , (1 , 0 , 1 , 8 ), ('Name' , (1 , 7 , 1 , 8 ), 'v' , ('Load' ,)), None )], []),
2098- ('Module' , [('Import' , (1 , 0 , 1 , 10 ), [('alias' , 'sys' , None )])], []),
2099- ('Module' , [('ImportFrom' , (1 , 0 , 1 , 17 ), 'sys' , [('alias' , 'v' , None )], 0 )], []),
2120+ ('Module' , [('Import' , (1 , 0 , 1 , 10 ), [('alias' , ( 1 , 7 , 1 , 10 ), 'sys' , None )])], []),
2121+ ('Module' , [('ImportFrom' , (1 , 0 , 1 , 17 ), 'sys' , [('alias' , ( 1 , 16 , 1 , 17 ), 'v' , None )], 0 )], []),
21002122('Module' , [('Global' , (1 , 0 , 1 , 8 ), ['v' ])], []),
21012123('Module' , [('Expr' , (1 , 0 , 1 , 1 ), ('Constant' , (1 , 0 , 1 , 1 ), 1 , None ))], []),
21022124('Module' , [('Pass' , (1 , 0 , 1 , 4 ))], []),
0 commit comments