1
0
forked from VimPlug/jedi

Use the Script fixture more generally

This commit is contained in:
Dave Halter
2017-12-29 18:40:17 +01:00
parent 38cacba385
commit da211aa63d
10 changed files with 388 additions and 341 deletions

View File

@@ -4,16 +4,22 @@ Tests for `api.defined_names`.
from textwrap import dedent
import pytest
from jedi import names
from ..helpers import TestCase
class TestDefinedNames(TestCase):
@pytest.fixture(autouse=True)
def init(self, environment):
self.environment = environment
def assert_definition_names(self, definitions, names_):
assert [d.name for d in definitions] == names_
def check_defined_names(self, source, names_):
definitions = names(dedent(source))
definitions = names(dedent(source), environment=self.environment)
self.assert_definition_names(definitions, names_)
return definitions
@@ -74,19 +80,19 @@ class TestDefinedNames(TestCase):
self.assert_definition_names(subsubdefs[0].defined_names(), ['f'])
def test_follow_imports():
def test_follow_imports(environment):
# github issue #344
imp = names('import datetime')[0]
imp = names('import datetime', environment=environment)[0]
assert imp.name == 'datetime'
datetime_names = [str(d.name) for d in imp.defined_names()]
assert 'timedelta' in datetime_names
def test_names_twice():
def test_names_twice(environment):
source = dedent('''
def lol():
pass
''')
defs = names(source=source)
defs = names(source=source, environment=environment)
assert defs[0].defined_names() == []