Ejemplo n.º 1
0
    def test_fqdn_imports(self):
        simple = ast.alias(name="os", asname=None)
        assert pi.ImportedName("os", ast.Import(names=[simple]), simple).canonical_name == "os"

        module = ast.alias(name="os.path", asname=None)
        module_name = pi.ImportedName("os.path", ast.Import(names=[module]), module)
        assert module_name.canonical_name == "os.path"

        alias = ast.alias(name="os.path", asname="path")
        assert pi.ImportedName("path", ast.Import(names=[alias]), alias).canonical_name == "os.path"
Ejemplo n.º 2
0
    def test_fqast_imports(self):
        simple = ast.alias(name="os", asname=None)
        node_ast = ast.dump(pi.ImportedName("os", ast.Import(names=[simple]), simple).canonical_ast)
        assert node_ast == "Name(id='os', ctx=Load())"

        module = ast.alias(name="os.path", asname=None)
        module_name = pi.ImportedName("os.path", ast.Import(names=[module]), module)
        module_ast = ast.dump(module_name.canonical_ast)
        assert module_ast == "Attribute(value=Name(id='os', ctx=Load()), attr='path', ctx=Load())"

        alias = ast.alias(name="os.path", asname="path")
        alias_ast = ast.dump(
            pi.ImportedName("path", ast.Import(names=[alias]), alias).canonical_ast
        )
        assert alias_ast == "Attribute(value=Name(id='os', ctx=Load()), attr='path', ctx=Load())"
Ejemplo n.º 3
0
    def test_fqdn_importfrom(self):
        # 'from os import path'
        simple = ast.alias(name="path", asname=None)
        simple_name = ast.ImportFrom(module="os", names=[simple])
        assert pi.ImportedName("path", simple_name, simple).canonical_name == "os.path"

        module = ast.alias(name="four", asname=None)
        module_name = ast.ImportFrom(module="one.two.three", names=[module])
        assert pi.ImportedName("four", module_name, module).canonical_name == "one.two.three.four"

        alias = ast.alias(name="fourth_module", asname="four")
        alias_name = ast.ImportFrom(module="one.two.three", names=[alias])
        assert (
            pi.ImportedName("four", alias_name, alias).canonical_name
            == "one.two.three.fourth_module"
        )
Ejemplo n.º 4
0
 def test_import(self):
     alias = ast.alias(name="os.path", asname=None)
     name = pi.ImportedName("os.path", ast.Import(names=[alias]), alias)
     assert name.name == "os.path"
     assert name.node.names[0].name == "os.path"
     assert name.node.names[0].asname is None
     assert name.alias is alias
     assert name.is_import()
     assert not name.is_import_from()
Ejemplo n.º 5
0
 def test_new_modules(self, change):
     change.add_new_modules({"os", "awsum"})
     alias = ast.alias(name="path", asname=None)
     change.add_new(
         pi.ImportedName("path", ast.ImportFrom(module="os", level=0, names=[alias]), alias)
     )
     assert change.new_modules == {"awsum", "os"}
     assert change.new
     change.delete_new_module("os")
     assert change.new_modules == {"awsum"}
     assert not change.new
Ejemplo n.º 6
0
 def test_importfrom(self):
     alias = ast.alias(name="path", asname=None)
     name = pi.ImportedName("path", ast.ImportFrom(module="os", level=0, names=[alias]), alias)
     assert name.name == "path"
     assert name.node.module == "os"
     assert name.node.names[0].name == "path"
     assert name.node.names[0].asname is None
     assert name.node.level == 0
     assert name.alias is alias
     assert not name.is_import()
     assert name.is_import_from()
Ejemplo n.º 7
0
    def test_fqast_importfrom(self):
        simple = ast.alias(name="path", asname=None)
        simple_name = pi.ImportedName("path", ast.ImportFrom(module="os", names=[simple]), simple)
        simple_ast = ast.dump(simple_name.canonical_ast)
        assert simple_ast == "Attribute(value=Name(id='os', ctx=Load()), attr='path', ctx=Load())"

        module = ast.alias(name="four", asname=None)
        module_node = ast.ImportFrom(module="one.two.three", names=[module])
        module_name = pi.ImportedName("four", module_node, module)
        module_ast = ast.dump(module_name.canonical_ast)
        assert (
            module_ast
            == "Attribute(value=Attribute(value=Attribute(value=Name(id='one', ctx=Load()), attr='two', ctx=Load()), attr='three', ctx=Load()), attr='four', ctx=Load())"  # pylint: disable=line-too-long
        )

        alias = ast.alias(name="fourth_module", asname="four")
        alias_node = ast.ImportFrom(module="one.two.three", names=[alias])
        alias_name = pi.ImportedName("four", alias_node, alias)
        alias_ast = ast.dump(alias_name.canonical_ast)
        assert (
            alias_ast
            == "Attribute(value=Attribute(value=Attribute(value=Name(id='one', ctx=Load()), attr='two', ctx=Load()), attr='three', ctx=Load()), attr='fourth_module', ctx=Load())"  # pylint: disable=line-too-long
        )
Ejemplo n.º 8
0
 def test_removed(self, change):
     alias = ast.alias(name="path", asname=None)
     change.add_removed(
         pi.ImportedName("path", ast.ImportFrom(module="os", level=0, names=[alias]), alias)
     )
     assert change.removed["os"] is not None