forked from VimPlug/jedi
tests for call signatures that are not actually callable.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import textwrap
|
from textwrap import dedent
|
||||||
import inspect
|
import inspect
|
||||||
|
|
||||||
from ..helpers import TestCase
|
from ..helpers import TestCase
|
||||||
@@ -113,14 +113,14 @@ class TestCallSignatures(TestCase):
|
|||||||
assert Script(s).call_signatures() == []
|
assert Script(s).call_signatures() == []
|
||||||
|
|
||||||
def test_call_signatures_empty_parentheses_pre_space(self):
|
def test_call_signatures_empty_parentheses_pre_space(self):
|
||||||
s = textwrap.dedent("""\
|
s = dedent("""\
|
||||||
def f(a, b):
|
def f(a, b):
|
||||||
pass
|
pass
|
||||||
f( )""")
|
f( )""")
|
||||||
self._run(s, 'f', 0, line=3, column=3)
|
self._run(s, 'f', 0, line=3, column=3)
|
||||||
|
|
||||||
def test_multiple_signatures(self):
|
def test_multiple_signatures(self):
|
||||||
s = textwrap.dedent("""\
|
s = dedent("""\
|
||||||
if x:
|
if x:
|
||||||
def f(a, b):
|
def f(a, b):
|
||||||
pass
|
pass
|
||||||
@@ -131,7 +131,7 @@ class TestCallSignatures(TestCase):
|
|||||||
assert len(Script(s).call_signatures()) == 2
|
assert len(Script(s).call_signatures()) == 2
|
||||||
|
|
||||||
def test_call_signatures_whitespace(self):
|
def test_call_signatures_whitespace(self):
|
||||||
s = textwrap.dedent("""\
|
s = dedent("""\
|
||||||
abs(
|
abs(
|
||||||
def x():
|
def x():
|
||||||
pass
|
pass
|
||||||
@@ -143,7 +143,7 @@ class TestCallSignatures(TestCase):
|
|||||||
There's still an implicit param, with a decorator.
|
There's still an implicit param, with a decorator.
|
||||||
Github issue #319.
|
Github issue #319.
|
||||||
"""
|
"""
|
||||||
s = textwrap.dedent("""\
|
s = dedent("""\
|
||||||
def static(func):
|
def static(func):
|
||||||
def wrapped(obj, *args):
|
def wrapped(obj, *args):
|
||||||
return f(type(obj), *args)
|
return f(type(obj), *args)
|
||||||
@@ -202,3 +202,16 @@ def test_signature_is_definition():
|
|||||||
assert attribute() == signature_attribute()
|
assert attribute() == signature_attribute()
|
||||||
else:
|
else:
|
||||||
assert attribute == signature_attribute
|
assert attribute == signature_attribute
|
||||||
|
|
||||||
|
|
||||||
|
def test_no_signature():
|
||||||
|
# str doesn't have a __call__ method
|
||||||
|
assert Script('str()(').call_signatures == []
|
||||||
|
|
||||||
|
s = dedent("""\
|
||||||
|
class X():
|
||||||
|
pass
|
||||||
|
X()(
|
||||||
|
""")
|
||||||
|
assert Script(s).call_signatures == []
|
||||||
|
assert len(Script(s, column=2).call_signatures) == 1
|
||||||
|
|||||||
Reference in New Issue
Block a user