1
0
forked from VimPlug/jedi

Make sure that equals will only be added to keyword arguments and not just randomly

This commit is contained in:
Dave Halter
2020-01-01 18:55:38 +01:00
parent 9dc18054ee
commit 54bd0b437f
5 changed files with 34 additions and 20 deletions

View File

@@ -149,6 +149,18 @@ def test_with_stmt_error_recovery(Script):
assert Script('with open('') as foo: foo.\na').complete(line=1)
def test_function_param_usage(Script):
c, = Script('def func(foo_value):\n str(foo_valu').complete()
assert c.complete == 'e'
assert c.name == 'foo_value'
c1, c2 = Script('def func(foo_value):\n func(foo_valu').complete()
assert c1.complete == 'e'
assert c1.name == 'foo_value'
assert c2.complete == 'e='
assert c2.name == 'foo_value='
@pytest.mark.parametrize(
'code, has_keywords', (
('', True),

View File

@@ -311,8 +311,8 @@ def test_param_completion():
lambd = lambda xyz: 3
_assert_interpreter_complete('foo(bar', locals(), ['bar'])
assert bool(jedi.Interpreter('lambd(xyz', [locals()]).complete()) == is_py3
_assert_interpreter_complete('foo(bar', locals(), ['bar='])
_assert_interpreter_complete('lambd(xyz', locals(), ['xyz='])
def test_endless_yield():
@@ -357,7 +357,7 @@ def test_keyword_argument():
pass
c, = jedi.Interpreter("f(some_keyw", [{'f': f}]).complete()
assert c.name == 'some_keyword_argument'
assert c.name == 'some_keyword_argument='
assert c.complete == 'ord_argument='
# This needs inspect.signature to work.
@@ -365,7 +365,7 @@ def test_keyword_argument():
# Make it impossible for jedi to find the source of the function.
f.__name__ = 'xSOMETHING'
c, = jedi.Interpreter("x(some_keyw", [{'x': f}]).complete()
assert c.name == 'some_keyword_argument'
assert c.name == 'some_keyword_argument='
def test_more_complex_instances():