1
0
forked from VimPlug/jedi

A few Python 2 fixes

This commit is contained in:
Dave Halter
2019-05-18 01:09:09 +02:00
parent cc68942ec1
commit 4176af337f
6 changed files with 13 additions and 12 deletions

View File

@@ -234,7 +234,7 @@ def _load_from_typeshed(evaluator, actual_context_set, parent_module_context, im
def _try_to_load_stub_from_file(evaluator, actual_context_set, path, import_names):
try:
stub_module_node = _load_stub(evaluator, path)
except OSError:
except (OSError, IOError): # IOError is Python 2 only
# The file that you're looking for doesn't exist (anymore).
return None
else:

View File

@@ -180,6 +180,10 @@ def eval_atom(context, atom):
might be a name or a literal as well.
"""
if atom.type == 'name':
if atom.value in ('True', 'False', 'None'):
# Python 2...
return ContextSet([compiled.builtin_from_name(context.evaluator, atom.value)])
# This is the first global lookup.
stmt = tree.search_ancestor(
atom, 'expr_stmt', 'lambdef'

View File

@@ -1,3 +1,4 @@
# python >= 3.4
from stub_folder import with_stub, stub_only, with_stub_folder, stub_only_folder
# -------------------------

View File

@@ -119,11 +119,7 @@ def test_goto_assignments_on_non_name(Script, environment):
assert Script('for').goto_assignments() == []
assert Script('assert').goto_assignments() == []
if environment.version_info.major == 2:
# In Python 2.7 True is still a name.
assert Script('True').goto_assignments()[0].description == 'instance True'
else:
assert Script('True').goto_assignments() == []
assert Script('True').goto_assignments() == []
def test_goto_definitions_on_non_name(Script):

View File

@@ -60,11 +60,11 @@ def test_function(Script, environment):
def test_keywords_variable(Script):
code = 'import keyword; keyword.kwlist'
seq1, seq2 = Script(code).goto_definitions()
assert seq1.name, seq2.name == 'Sequence'
# This points towards the typeshed implementation
stub_seq, = seq1.goto_stubs()
assert typeshed.TYPESHED_PATH in stub_seq.module_path
for seq in Script(code).goto_definitions():
assert seq.name == 'Sequence'
# This points towards the typeshed implementation
stub_seq, = seq.goto_stubs()
assert typeshed.TYPESHED_PATH in stub_seq.module_path
def test_class(Script):

View File

@@ -80,7 +80,7 @@ class TestSetupReadline(unittest.TestCase):
difference = {x for x in difference if not x.startswith('from os import _')}
# There are quite a few differences, because both Windows and Linux
# (posix and nt) libraries are included.
assert len(difference) < 33
assert len(difference) < 38
@cwd_at('test')
def test_local_import(self):