diff options
author | Kirill Podoprigora <kirill.bast9@mail.ru> | 2024-02-17 12:47:51 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-17 12:47:51 (GMT) |
commit | b9a9e3dd62326b726ad2e8e8efd87ca6327b4019 (patch) | |
tree | 58a4285bc5da3660c464cdee21526308bd52ddcb /Lib/test/test_pydoc/test_pydoc.py | |
parent | 664965a1c141e8af5eb465d29099781a6a2fc3f3 (diff) | |
download | cpython-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.py | 24 |
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: |