forked from VimPlug/jedi
Remove some 3.8 artifacts
This commit is contained in:
+1
-4
@@ -104,10 +104,7 @@ import os
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
import operator
|
import operator
|
||||||
if sys.version_info < (3, 8):
|
from ast import literal_eval
|
||||||
literal_eval = eval
|
|
||||||
else:
|
|
||||||
from ast import literal_eval
|
|
||||||
from io import StringIO
|
from io import StringIO
|
||||||
from functools import reduce
|
from functools import reduce
|
||||||
from unittest.mock import ANY
|
from unittest.mock import ANY
|
||||||
|
|||||||
@@ -420,7 +420,7 @@ _calls = [
|
|||||||
(code1, 'f(a,b,xy', 4),
|
(code1, 'f(a,b,xy', 4),
|
||||||
(code1, 'f(a,b,xyz=', 4),
|
(code1, 'f(a,b,xyz=', 4),
|
||||||
(code1, 'f(a,b,xy=', None),
|
(code1, 'f(a,b,xy=', None),
|
||||||
(code1, 'f(u=', (0, None)),
|
(code1, 'f(u=', None),
|
||||||
(code1, 'f(v=', 1),
|
(code1, 'f(v=', 1),
|
||||||
|
|
||||||
# **kwargs
|
# **kwargs
|
||||||
@@ -438,7 +438,7 @@ _calls = [
|
|||||||
(code2, 'g(a,b,abc=1,abd=4,abd=', 5),
|
(code2, 'g(a,b,abc=1,abd=4,abd=', 5),
|
||||||
(code2, 'g(a,b,kw', 5),
|
(code2, 'g(a,b,kw', 5),
|
||||||
(code2, 'g(a,b,kwargs=', 5),
|
(code2, 'g(a,b,kwargs=', 5),
|
||||||
(code2, 'g(u=', (0, 5)),
|
(code2, 'g(u=', 5),
|
||||||
(code2, 'g(v=', 1),
|
(code2, 'g(v=', 1),
|
||||||
|
|
||||||
# *args
|
# *args
|
||||||
@@ -450,7 +450,7 @@ _calls = [
|
|||||||
(code3, 'h(a,b,c,(3,)', 2),
|
(code3, 'h(a,b,c,(3,)', 2),
|
||||||
(code3, 'h(a,b,args=', None),
|
(code3, 'h(a,b,args=', None),
|
||||||
(code3, 'h(u,v=', 1),
|
(code3, 'h(u,v=', 1),
|
||||||
(code3, 'h(u=', (0, None)),
|
(code3, 'h(u=', None),
|
||||||
(code3, 'h(u,*xxx', 1),
|
(code3, 'h(u,*xxx', 1),
|
||||||
(code3, 'h(u,*xxx,*yyy', 1),
|
(code3, 'h(u,*xxx,*yyy', 1),
|
||||||
(code3, 'h(u,*[]', 1),
|
(code3, 'h(u,*[]', 1),
|
||||||
@@ -483,7 +483,7 @@ _calls = [
|
|||||||
(code4, 'i(1, [a?b,*', 2),
|
(code4, 'i(1, [a?b,*', 2),
|
||||||
(code4, 'i(?b,*r,c', 1),
|
(code4, 'i(?b,*r,c', 1),
|
||||||
(code4, 'i(?*', 0),
|
(code4, 'i(?*', 0),
|
||||||
(code4, 'i(?**', (0, 1)),
|
(code4, 'i(?**', 1),
|
||||||
|
|
||||||
# Random
|
# Random
|
||||||
(code4, 'i(()', 0),
|
(code4, 'i(()', 0),
|
||||||
@@ -497,11 +497,6 @@ _calls = [
|
|||||||
@pytest.mark.parametrize('ending', ['', ')'])
|
@pytest.mark.parametrize('ending', ['', ')'])
|
||||||
@pytest.mark.parametrize('code, call, expected_index', _calls)
|
@pytest.mark.parametrize('code, call, expected_index', _calls)
|
||||||
def test_signature_index(Script, environment, code, call, expected_index, ending):
|
def test_signature_index(Script, environment, code, call, expected_index, ending):
|
||||||
if isinstance(expected_index, tuple):
|
|
||||||
expected_index = expected_index[environment.version_info > (3, 8)]
|
|
||||||
if environment.version_info < (3, 8):
|
|
||||||
code = code.replace('/,', '')
|
|
||||||
|
|
||||||
sig, = Script(code + '\n' + call + ending).get_signatures(column=len(call))
|
sig, = Script(code + '\n' + call + ending).get_signatures(column=len(call))
|
||||||
index = sig.index
|
index = sig.index
|
||||||
assert expected_index == index
|
assert expected_index == index
|
||||||
|
|||||||
@@ -123,10 +123,6 @@ class X:
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
def test_tree_signature(Script, environment, code, expected):
|
def test_tree_signature(Script, environment, code, expected):
|
||||||
# Only test this in the latest version, because of /
|
|
||||||
if environment.version_info < (3, 8):
|
|
||||||
pytest.skip()
|
|
||||||
|
|
||||||
if expected is None:
|
if expected is None:
|
||||||
assert not Script(code).get_signatures()
|
assert not Script(code).get_signatures()
|
||||||
else:
|
else:
|
||||||
@@ -249,18 +245,11 @@ def test_pow_signature(Script, environment):
|
|||||||
# See github #1357
|
# See github #1357
|
||||||
sigs = Script('pow(').get_signatures()
|
sigs = Script('pow(').get_signatures()
|
||||||
strings = {sig.to_string() for sig in sigs}
|
strings = {sig.to_string() for sig in sigs}
|
||||||
if environment.version_info < (3, 8):
|
assert strings == {'pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co',
|
||||||
assert strings == {'pow(base: _SupportsPow2[_E, _T_co], exp: _E, /) -> _T_co',
|
'pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co',
|
||||||
'pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M, /) -> _T_co',
|
'pow(base: float, exp: float, mod: None=...) -> float',
|
||||||
'pow(base: float, exp: float, mod: None=..., /) -> float',
|
'pow(base: int, exp: int, mod: None=...) -> Any',
|
||||||
'pow(base: int, exp: int, mod: None=..., /) -> Any',
|
'pow(base: int, exp: int, mod: int) -> int'}
|
||||||
'pow(base: int, exp: int, mod: int, /) -> int'}
|
|
||||||
else:
|
|
||||||
assert strings == {'pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co',
|
|
||||||
'pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co',
|
|
||||||
'pow(base: float, exp: float, mod: None=...) -> float',
|
|
||||||
'pow(base: int, exp: int, mod: None=...) -> Any',
|
|
||||||
'pow(base: int, exp: int, mod: int) -> int'}
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
@@ -408,13 +397,8 @@ def test_wraps_signature(Script, code, signature):
|
|||||||
def test_dataclass_signature(
|
def test_dataclass_signature(
|
||||||
Script, start, start_params, include_params, environment
|
Script, start, start_params, include_params, environment
|
||||||
):
|
):
|
||||||
if environment.version_info < (3, 8):
|
price_type = "Final[float]"
|
||||||
# Final is not yet supported
|
price_type_infer = "object"
|
||||||
price_type = "float"
|
|
||||||
price_type_infer = "float"
|
|
||||||
else:
|
|
||||||
price_type = "Final[float]"
|
|
||||||
price_type_infer = "object"
|
|
||||||
|
|
||||||
code = dedent(
|
code = dedent(
|
||||||
f"""
|
f"""
|
||||||
@@ -731,13 +715,8 @@ def test_extensions_dataclass_transform_signature(
|
|||||||
if not has_typing_ext:
|
if not has_typing_ext:
|
||||||
raise pytest.skip("typing_extensions needed in target environment to run this test")
|
raise pytest.skip("typing_extensions needed in target environment to run this test")
|
||||||
|
|
||||||
if environment.version_info < (3, 8):
|
price_type = "Final[float]"
|
||||||
# Final is not yet supported
|
price_type_infer = "object"
|
||||||
price_type = "float"
|
|
||||||
price_type_infer = "float"
|
|
||||||
else:
|
|
||||||
price_type = "Final[float]"
|
|
||||||
price_type_infer = "object"
|
|
||||||
|
|
||||||
code = dedent(
|
code = dedent(
|
||||||
f"""
|
f"""
|
||||||
|
|||||||
+13
-21
@@ -53,30 +53,22 @@ def test_completion(case, monkeypatch, environment, has_django):
|
|||||||
|
|
||||||
# ... and mock the entry points to include it
|
# ... and mock the entry points to include it
|
||||||
# see https://docs.pytest.org/en/stable/how-to/writing_plugins.html#setuptools-entry-points
|
# see https://docs.pytest.org/en/stable/how-to/writing_plugins.html#setuptools-entry-points
|
||||||
if sys.version_info >= (3, 8):
|
def mock_entry_points(*, group=None):
|
||||||
def mock_entry_points(*, group=None):
|
import importlib.metadata
|
||||||
import importlib.metadata
|
entries = [importlib.metadata.EntryPoint(
|
||||||
entries = [importlib.metadata.EntryPoint(
|
name=None,
|
||||||
name=None,
|
value="pytest_plugin.plugin",
|
||||||
value="pytest_plugin.plugin",
|
group="pytest11",
|
||||||
group="pytest11",
|
)]
|
||||||
)]
|
|
||||||
|
|
||||||
if sys.version_info >= (3, 10):
|
if sys.version_info >= (3, 10):
|
||||||
assert group == "pytest11"
|
|
||||||
return entries
|
|
||||||
else:
|
|
||||||
assert group is None
|
|
||||||
return {"pytest11": entries}
|
|
||||||
|
|
||||||
monkeypatch.setattr("importlib.metadata.entry_points", mock_entry_points)
|
|
||||||
else:
|
|
||||||
def mock_iter_entry_points(group):
|
|
||||||
assert group == "pytest11"
|
assert group == "pytest11"
|
||||||
EntryPoint = namedtuple("EntryPoint", ["module_name"])
|
return entries
|
||||||
return [EntryPoint("pytest_plugin.plugin")]
|
else:
|
||||||
|
assert group is None
|
||||||
|
return {"pytest11": entries}
|
||||||
|
|
||||||
monkeypatch.setattr("pkg_resources.iter_entry_points", mock_iter_entry_points)
|
monkeypatch.setattr("importlib.metadata.entry_points", mock_entry_points)
|
||||||
|
|
||||||
repo_root = helpers.root_dir
|
repo_root = helpers.root_dir
|
||||||
monkeypatch.chdir(os.path.join(repo_root, 'jedi'))
|
monkeypatch.chdir(os.path.join(repo_root, 'jedi'))
|
||||||
|
|||||||
Reference in New Issue
Block a user