1
0
forked from VimPlug/jedi

Don't use the old setup_function/teardown_function pytest stuff. It's very implicit and hard to understand.

This commit is contained in:
Dave Halter
2014-12-07 17:21:52 +01:00
parent 49b34b4d01
commit 33b39c2b5d
2 changed files with 8 additions and 14 deletions

View File

@@ -460,8 +460,7 @@ class _Importer(object):
def follow_file_system(self):
# Handle "magic" Flask extension imports:
# ``flask.ext.foo`` is really ``flask_foo`` or ``flaskext.foo``.
if len(self.import_path) > 2 and \
[str(part) for part in self.import_path[:2]] == ['flask', 'ext']:
if len(self.import_path) > 2 and self.str_import_path()[:2] == ('flask', 'ext'):
orig_path = tuple(self.import_path)
part = orig_path[2]
pos = (part._line, part._column)
@@ -634,7 +633,7 @@ class _Importer(object):
if self.import_path:
for scope in self.follow(evaluator):
# flask
if self.import_path == ('flask', 'ext'):
if self.str_import_path() == ('flask', 'ext'):
# List Flask extensions like ``flask_foo``
for mod in self._get_module_names():
modname = str(mod)

View File

@@ -28,16 +28,6 @@ def test_import_not_in_sys_path():
assert a[0].name == 'str'
def setup_function(function):
sys.path.append(os.path.join(
os.path.dirname(__file__), 'flask-site-packages'))
def teardown_function(function):
path = os.path.join(os.path.dirname(__file__), 'flask-site-packages')
sys.path.remove(path)
@pytest.mark.parametrize("script,name", [
("from flask.ext import foo; foo.", "Foo"), # flask_foo.py
("from flask.ext import bar; bar.", "Bar"), # flaskext/bar.py
@@ -55,4 +45,9 @@ def teardown_function(function):
def test_flask_ext(script, name):
"""flask.ext.foo is really imported from flaskext.foo or flask_foo.
"""
path = os.path.join(os.path.dirname(__file__), 'flask-site-packages')
sys.path.append(path)
try:
assert name in [c.name for c in jedi.Script(script).completions()]
finally:
sys.path.remove(path)