Skip to content

Commit 7e5181a

Browse files
committed
Add ImportInfo.__repr__()
1 parent 14d6fd2 commit 7e5181a

2 files changed

Lines changed: 25 additions & 0 deletions

File tree

rope/refactor/importutils/importinfo.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ def get_imported_names(self, context):
7373
primary.split(".")[0] for primary in self.get_imported_primaries(context)
7474
]
7575

76+
def __repr__(self):
77+
return f'<{self.__class__.__name__} "{self.get_import_statement()}">'
78+
7679
def get_import_statement(self):
7780
pass
7881

ropetest/reprtest.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from rope.contrib import findit
1111
from rope.contrib.autoimport import models
1212
from rope.refactor import occurrences
13+
from rope.refactor.importutils import importinfo
1314
from ropetest import testutils
1415

1516

@@ -165,3 +166,24 @@ def test_autoimport_models_finalquery(project, mod1):
165166
obj = models.Package.delete_by_package_name
166167
assert isinstance(obj, models.FinalQuery)
167168
assert repr(obj) == expected_repr
169+
170+
171+
def test_repr_normal_import(project):
172+
obj = importinfo.NormalImport([("abc", None), ("ghi", "jkl")])
173+
expected_repr = '<NormalImport "import abc, ghi as jkl">'
174+
assert isinstance(obj, importinfo.NormalImport)
175+
assert repr(obj) == expected_repr
176+
177+
178+
def test_repr_from_import(project):
179+
obj = importinfo.FromImport("pkg1.pkg2", 0, [("abc", None), ("ghi", "jkl")])
180+
expected_repr = '<FromImport "from pkg1.pkg2 import abc, ghi as jkl">'
181+
assert isinstance(obj, importinfo.FromImport)
182+
assert repr(obj) == expected_repr
183+
184+
185+
def test_repr_from_import_with_level(project):
186+
obj = importinfo.FromImport("pkg1.pkg2", 3, [("abc", None), ("ghi", "jkl")])
187+
expected_repr = '<FromImport "from ...pkg1.pkg2 import abc, ghi as jkl">'
188+
assert isinstance(obj, importinfo.FromImport)
189+
assert repr(obj) == expected_repr

0 commit comments

Comments
 (0)