summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_pydoc/test_pydoc.py
diff options
context:
space:
mode:
authorKirill Podoprigora <kirill.bast9@mail.ru>2024-02-17 12:47:51 (GMT)
committerGitHub <noreply@github.com>2024-02-17 12:47:51 (GMT)
commitb9a9e3dd62326b726ad2e8e8efd87ca6327b4019 (patch)
tree58a4285bc5da3660c464cdee21526308bd52ddcb /Lib/test/test_pydoc/test_pydoc.py
parent664965a1c141e8af5eb465d29099781a6a2fc3f3 (diff)
downloadcpython-b9a9e3dd62326b726ad2e8e8efd87ca6327b4019.zip
cpython-b9a9e3dd62326b726ad2e8e8efd87ca6327b4019.tar.gz
cpython-b9a9e3dd62326b726ad2e8e8efd87ca6327b4019.tar.bz2
gh-107155: Fix help() for lambda function with return annotation (GH-107401)
Diffstat (limited to 'Lib/test/test_pydoc/test_pydoc.py')
-rw-r--r--Lib/test/test_pydoc/test_pydoc.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/Lib/test/test_pydoc/test_pydoc.py b/Lib/test/test_pydoc/test_pydoc.py
index 0dd24e6..d7a333a 100644
--- a/Lib/test/test_pydoc/test_pydoc.py
+++ b/Lib/test/test_pydoc/test_pydoc.py
@@ -693,6 +693,30 @@ class PydocDocTest(unittest.TestCase):
finally:
pydoc.getpager = getpager_old
+ def test_lambda_with_return_annotation(self):
+ func = lambda a, b, c: 1
+ func.__annotations__ = {"return": int}
+ with captured_output('stdout') as help_io:
+ pydoc.help(func)
+ helptext = help_io.getvalue()
+ self.assertIn("lambda (a, b, c) -> int", helptext)
+
+ def test_lambda_without_return_annotation(self):
+ func = lambda a, b, c: 1
+ func.__annotations__ = {"a": int, "b": int, "c": int}
+ with captured_output('stdout') as help_io:
+ pydoc.help(func)
+ helptext = help_io.getvalue()
+ self.assertIn("lambda (a: int, b: int, c: int)", helptext)
+
+ def test_lambda_with_return_and_params_annotation(self):
+ func = lambda a, b, c: 1
+ func.__annotations__ = {"a": int, "b": int, "c": int, "return": int}
+ with captured_output('stdout') as help_io:
+ pydoc.help(func)
+ helptext = help_io.getvalue()
+ self.assertIn("lambda (a: int, b: int, c: int) -> int", helptext)
+
def test_namedtuple_fields(self):
Person = namedtuple('Person', ['nickname', 'firstname'])
with captured_stdout() as help_io: