Exemplo n.º 1
0
 def test_basic_import(self):
     mod_ref = ast.parse('import dummy', '<STRING>', 'exec')
     mod_exp = ast.parse('import readline', '<STRING>', 'exec')
     imp_rewriter.RewriteImport(from_mod='dummy',
                                to_mod='readline').visit(mod_ref)
     ast.fix_missing_locations(mod_ref)
     self.assertEqual(mod_ref, mod_exp, msg='AST transform failed')
Exemplo n.º 2
0
 def test_transform_multi_import_to_importfrom(self):
     mod_ref = ast.parse('import readline, sys, io', '<STRING>', 'exec')
     mod_exp = ast.parse('from rl import readline\nimport sys, io',
                         '<STRING>', 'exec')
     imp_rewriter.RewriteImport(from_mod='readline',
                                to_mod='rl',
                                to_id='readline').visit(mod_ref)
     ast.fix_missing_locations(mod_ref)
     self.assertEqual(mod_ref, mod_exp, msg='AST transform failed')
Exemplo n.º 3
0
 def test_alias_multi_import(self):
     mod_ref = ast.parse('import dummy1 as d1, dummy2 as d2, dummy3 as d3',
                         '<STRING>', 'exec')
     mod_exp = ast.parse(
         'import readline as d2\nimport dummy1 as d1, dummy3 as d3',
         '<STRING>', 'exec')
     imp_rewriter.RewriteImport(from_mod='dummy2',
                                to_mod='readline').visit(mod_ref)
     ast.fix_missing_locations(mod_ref)
     self.assertEqual(mod_ref, mod_exp, msg='AST transform failed')
Exemplo n.º 4
0
 def test_multi_importfrom(self):
     mod_ref = ast.parse('from dummy import magic1, magic2, magic3',
                         '<STRING>', 'exec')
     mod_exp = ast.parse(
         'from rl import readline\nfrom dummy import magic1, magic3',
         '<STRING>', 'exec')
     imp_rewriter.RewriteImport(from_mod='dummy',
                                from_id='magic2',
                                to_mod='rl',
                                to_id='readline').visit(mod_ref)
     ast.fix_missing_locations(mod_ref)
     self.assertEqual(mod_ref, mod_exp, msg='AST transform failed')