mirror of
https://github.com/davidhalter/jedi.git
synced 2026-08-18 00:28:00 +08:00
A few Python 2 fixes
This commit is contained in:
@@ -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):
|
def _try_to_load_stub_from_file(evaluator, actual_context_set, path, import_names):
|
||||||
try:
|
try:
|
||||||
stub_module_node = _load_stub(evaluator, path)
|
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).
|
# The file that you're looking for doesn't exist (anymore).
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -180,6 +180,10 @@ def eval_atom(context, atom):
|
|||||||
might be a name or a literal as well.
|
might be a name or a literal as well.
|
||||||
"""
|
"""
|
||||||
if atom.type == 'name':
|
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.
|
# This is the first global lookup.
|
||||||
stmt = tree.search_ancestor(
|
stmt = tree.search_ancestor(
|
||||||
atom, 'expr_stmt', 'lambdef'
|
atom, 'expr_stmt', 'lambdef'
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# python >= 3.4
|
||||||
from stub_folder import with_stub, stub_only, with_stub_folder, stub_only_folder
|
from stub_folder import with_stub, stub_only, with_stub_folder, stub_only_folder
|
||||||
|
|
||||||
# -------------------------
|
# -------------------------
|
||||||
|
|||||||
@@ -119,11 +119,7 @@ def test_goto_assignments_on_non_name(Script, environment):
|
|||||||
assert Script('for').goto_assignments() == []
|
assert Script('for').goto_assignments() == []
|
||||||
|
|
||||||
assert Script('assert').goto_assignments() == []
|
assert Script('assert').goto_assignments() == []
|
||||||
if environment.version_info.major == 2:
|
assert Script('True').goto_assignments() == []
|
||||||
# In Python 2.7 True is still a name.
|
|
||||||
assert Script('True').goto_assignments()[0].description == 'instance True'
|
|
||||||
else:
|
|
||||||
assert Script('True').goto_assignments() == []
|
|
||||||
|
|
||||||
|
|
||||||
def test_goto_definitions_on_non_name(Script):
|
def test_goto_definitions_on_non_name(Script):
|
||||||
|
|||||||
@@ -60,11 +60,11 @@ def test_function(Script, environment):
|
|||||||
|
|
||||||
def test_keywords_variable(Script):
|
def test_keywords_variable(Script):
|
||||||
code = 'import keyword; keyword.kwlist'
|
code = 'import keyword; keyword.kwlist'
|
||||||
seq1, seq2 = Script(code).goto_definitions()
|
for seq in Script(code).goto_definitions():
|
||||||
assert seq1.name, seq2.name == 'Sequence'
|
assert seq.name == 'Sequence'
|
||||||
# This points towards the typeshed implementation
|
# This points towards the typeshed implementation
|
||||||
stub_seq, = seq1.goto_stubs()
|
stub_seq, = seq.goto_stubs()
|
||||||
assert typeshed.TYPESHED_PATH in stub_seq.module_path
|
assert typeshed.TYPESHED_PATH in stub_seq.module_path
|
||||||
|
|
||||||
|
|
||||||
def test_class(Script):
|
def test_class(Script):
|
||||||
|
|||||||
+1
-1
@@ -80,7 +80,7 @@ class TestSetupReadline(unittest.TestCase):
|
|||||||
difference = {x for x in difference if not x.startswith('from os import _')}
|
difference = {x for x in difference if not x.startswith('from os import _')}
|
||||||
# There are quite a few differences, because both Windows and Linux
|
# There are quite a few differences, because both Windows and Linux
|
||||||
# (posix and nt) libraries are included.
|
# (posix and nt) libraries are included.
|
||||||
assert len(difference) < 33
|
assert len(difference) < 38
|
||||||
|
|
||||||
@cwd_at('test')
|
@cwd_at('test')
|
||||||
def test_local_import(self):
|
def test_local_import(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user