summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_pydoc.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2023-08-11 15:08:38 (GMT)
committerGitHub <noreply@github.com>2023-08-11 15:08:38 (GMT)
commit3901c991e169da6fba8c0033a86a6f2e6146bb7f (patch)
tree204793d1f5428775539104f57fd289d8589435e8 /Lib/test/test_pydoc.py
parent23a6db98f21cba3af69a921f01613bd5f602bf6d (diff)
downloadcpython-3901c991e169da6fba8c0033a86a6f2e6146bb7f.zip
cpython-3901c991e169da6fba8c0033a86a6f2e6146bb7f.tar.gz
cpython-3901c991e169da6fba8c0033a86a6f2e6146bb7f.tar.bz2
gh-84805: Autogenerate signature for METH_NOARGS and METH_O extension functions (GH-107794)
Diffstat (limited to 'Lib/test/test_pydoc.py')
-rw-r--r--Lib/test/test_pydoc.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/Lib/test/test_pydoc.py b/Lib/test/test_pydoc.py
index ddb5187..8df8b60 100644
--- a/Lib/test/test_pydoc.py
+++ b/Lib/test/test_pydoc.py
@@ -1,3 +1,4 @@
+import datetime
import os
import sys
import contextlib
@@ -12,6 +13,7 @@ import re
import stat
import tempfile
import test.support
+import time
import types
import typing
import unittest
@@ -1180,6 +1182,54 @@ class TestDescriptions(unittest.TestCase):
self.assertEqual(self._get_summary_line(os.stat),
"stat(path, *, dir_fd=None, follow_symlinks=True)")
+ def test_module_level_callable_noargs(self):
+ self.assertEqual(self._get_summary_line(time.time),
+ "time()")
+
+ def test_module_level_callable_o(self):
+ self.assertEqual(self._get_summary_line(stat.S_IMODE),
+ "S_IMODE(object, /)")
+
+ def test_unbound_builtin_method_noargs(self):
+ self.assertEqual(self._get_summary_line(str.lower),
+ "lower(self, /)")
+
+ def test_bound_builtin_method_noargs(self):
+ self.assertEqual(self._get_summary_line(''.lower),
+ "lower() method of builtins.str instance")
+
+ def test_unbound_builtin_method_o(self):
+ self.assertEqual(self._get_summary_line(set.add),
+ "add(self, object, /)")
+
+ def test_bound_builtin_method_o(self):
+ self.assertEqual(self._get_summary_line(set().add),
+ "add(object, /) method of builtins.set instance")
+
+ def test_unbound_builtin_method_coexist_o(self):
+ self.assertEqual(self._get_summary_line(set.__contains__),
+ "__contains__(self, object, /)")
+
+ def test_bound_builtin_method_coexist_o(self):
+ self.assertEqual(self._get_summary_line(set().__contains__),
+ "__contains__(object, /) method of builtins.set instance")
+
+ def test_unbound_builtin_classmethod_noargs(self):
+ self.assertEqual(self._get_summary_line(datetime.datetime.__dict__['utcnow']),
+ "utcnow(type, /)")
+
+ def test_bound_builtin_classmethod_noargs(self):
+ self.assertEqual(self._get_summary_line(datetime.datetime.utcnow),
+ "utcnow() method of builtins.type instance")
+
+ def test_unbound_builtin_classmethod_o(self):
+ self.assertEqual(self._get_summary_line(dict.__dict__['__class_getitem__']),
+ "__class_getitem__(type, object, /)")
+
+ def test_bound_builtin_classmethod_o(self):
+ self.assertEqual(self._get_summary_line(dict.__class_getitem__),
+ "__class_getitem__(object, /) method of builtins.type instance")
+
@requires_docstrings
def test_staticmethod(self):
class X: