diff --git a/test/test_api/test_api_classes.py b/test/test_api/test_api_classes.py index f327113c..62122dc6 100644 --- a/test/test_api/test_api_classes.py +++ b/test/test_api/test_api_classes.py @@ -152,6 +152,12 @@ class TestIsDefinition(TestCase): def _def(self, source, index=-1): return names(dedent(source), references=True, all_scopes=True)[index] + def _bool_is_definitions(self, source): + ns = names(dedent(source), references=True, all_scopes=True) + # Assure that names are definitely sorted. + ns = sorted(ns, key=lambda name: (name.line, name.column)) + return [name.is_definition() for name in ns] + def test_name(self): d = self._def('name') assert d.name == 'name' @@ -169,6 +175,11 @@ class TestIsDefinition(TestCase): assert d.name == 'x' assert not d.is_definition() + def test_import(self): + assert self._bool_is_definitions('import x as a') == [False, True] + assert self._bool_is_definitions('from x import y') == [False, True] + assert self._bool_is_definitions('from x.z import y') == [False, False, True] + class TestParent(TestCase): def _parent(self, source, line=None, column=None):