1
0
forked from VimPlug/jedi

refactoring of a few tests

This commit is contained in:
David Halter
2012-12-09 21:38:39 +01:00
parent 830f50e314
commit 9dfa98c474
2 changed files with 25 additions and 22 deletions

View File

@@ -102,10 +102,11 @@ class ImportPath(parsing.Base):
if self.import_stmt.relative_count == 0: if self.import_stmt.relative_count == 0:
names += self.get_module_names() names += self.get_module_names()
path = os.path.abspath(self.file_path) if self.file_path is not None:
for i in range(self.import_stmt.relative_count - 1): path = os.path.abspath(self.file_path)
path = os.path.dirname(path) for i in range(self.import_stmt.relative_count - 1):
names += self.get_module_names([path]) path = os.path.dirname(path)
names += self.get_module_names([path])
else: else:
if on_import_stmt and isinstance(scope, parsing.Module) \ if on_import_stmt and isinstance(scope, parsing.Module) \
and scope.path.endswith('__init__.py'): and scope.path.endswith('__init__.py'):

View File

@@ -18,22 +18,26 @@ import api
class Base(unittest.TestCase): class Base(unittest.TestCase):
def get_def(self, src, pos=None): def get_script(self, src, pos, path=None):
if pos is None: if pos is None:
pos = 1, len(src) lines = src.splitlines()
script = api.Script(src, pos[0], pos[1], None) pos = len(lines), len(lines[-1])
return api.Script(src, pos[0], pos[1], path)
def get_def(self, src, pos=None):
script = self.get_script(src, pos)
return script.get_definition() return script.get_definition()
def complete(self, src, pos=None): def complete(self, src, pos=None, path=None):
if pos is None: script = self.get_script(src, pos, path)
pos = 1, len(src)
script = api.Script(src, pos[0], pos[1], '')
return script.complete() return script.complete()
def goto(self, src, pos=None):
script = self.get_script(src, pos)
return script.goto()
def get_in_function_call(self, src, pos=None): def get_in_function_call(self, src, pos=None):
if pos is None: script = self.get_script(src, pos)
pos = 1, len(src)
script = api.Script(src, pos[0], pos[1], '')
return script.get_in_function_call() return script.get_in_function_call()
@@ -134,11 +138,12 @@ class TestRegression(Base):
def test_complete_on_empty_import(self): def test_complete_on_empty_import(self):
# should just list the files in the directory # should just list the files in the directory
assert 10 < len(self.complete("from .", (1, 5))) < 30 assert 10 < len(self.complete("from .", path='')) < 30
assert 10 < len(self.complete("from . import", (1, 5))) < 30 assert 10 < len(self.complete("from . import", (1, 5), '')) < 30
assert 10 < len(self.complete("from . import classes", (1, 5))) < 30 assert 10 < len(self.complete("from . import classes",
(1, 5), '')) < 30
assert len(self.complete("import")) == 0 assert len(self.complete("import")) == 0
assert len(self.complete("import import")) > 0 assert len(self.complete("import import", path='')) > 0
def test_get_in_function_call(self): def test_get_in_function_call(self):
def check(call_def, name, index): def check(call_def, name, index):
@@ -280,10 +285,7 @@ class TestFeature(Base):
import re import re
any_re = re.compile('.*') any_re = re.compile('.*')
any_re""" any_re"""
lines = s.splitlines() self.assertEqual(self.get_def(s)[0].full_name, 're.RegexObject')
defs = self.get_def(s, (len(lines), len(lines[-1])))
self.assertEqual(defs[0].full_name,
're.RegexObject')
class TestSpeed(Base): class TestSpeed(Base):