@@ -335,6 +335,26 @@ def test_non_interned_future_from_ast(self):
335
335
mod .body [0 ].module = " __future__ " .strip ()
336
336
compile (mod , "<test>" , "exec" )
337
337
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
+
338
358
def test_base_classes (self ):
339
359
self .assertTrue (issubclass (ast .For , ast .stmt ))
340
360
self .assertTrue (issubclass (ast .Name , ast .expr ))
@@ -1037,7 +1057,8 @@ def test_bad_integer(self):
1037
1057
1038
1058
def test_level_as_none (self ):
1039
1059
body = [ast .ImportFrom (module = 'time' ,
1040
- names = [ast .alias (name = 'sleep' )],
1060
+ names = [ast .alias (name = 'sleep' ,
1061
+ lineno = 0 , col_offset = 0 )],
1041
1062
level = None ,
1042
1063
lineno = 0 , col_offset = 0 )]
1043
1064
mod = ast .Module (body , [])
@@ -1735,6 +1756,7 @@ def test_import_from_multi_line(self):
1735
1756
''' ).strip ()
1736
1757
imp = ast .parse (s ).body [0 ]
1737
1758
self ._check_end_pos (imp , 3 , 1 )
1759
+ self ._check_end_pos (imp .names [2 ], 2 , 16 )
1738
1760
1739
1761
def test_slices (self ):
1740
1762
s1 = 'f()[1, 2] [0]'
@@ -2095,8 +2117,8 @@ def main():
2095
2117
('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 ))])], [], [])], []),
2096
2118
('Module' , [('Try' , (1 , 0 , 4 , 6 ), [('Pass' , (2 , 2 , 2 , 6 ))], [], [], [('Pass' , (4 , 2 , 4 , 6 ))])], []),
2097
2119
('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 )], []),
2100
2122
('Module' , [('Global' , (1 , 0 , 1 , 8 ), ['v' ])], []),
2101
2123
('Module' , [('Expr' , (1 , 0 , 1 , 1 ), ('Constant' , (1 , 0 , 1 , 1 ), 1 , None ))], []),
2102
2124
('Module' , [('Pass' , (1 , 0 , 1 , 4 ))], []),
0 commit comments