diff options
author | Sanyam Khurana <8039608+CuriousLearner@users.noreply.github.com> | 2018-12-31 05:14:47 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2018-12-31 05:14:47 (GMT) |
commit | b539cef31c060c7eecc331d25a23b80ded0baf08 (patch) | |
tree | 9fed434820ac61d691b3f385a7aeebb897964d73 | |
parent | 1d300ce1d8238136595c8fea76266a4755cd73a2 (diff) | |
download | cpython-b539cef31c060c7eecc331d25a23b80ded0baf08.zip cpython-b539cef31c060c7eecc331d25a23b80ded0baf08.tar.gz cpython-b539cef31c060c7eecc331d25a23b80ded0baf08.tar.bz2 |
bpo-35614: Fix pydoc help() on metaclasses (#11357)
-rw-r--r-- | Lib/pydoc.py | 2 | ||||
-rw-r--r-- | Lib/test/test_pydoc.py | 11 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2018-12-30-01-10-50.bpo-35614.cnkM4f.rst | 1 |
3 files changed, 13 insertions, 1 deletions
diff --git a/Lib/pydoc.py b/Lib/pydoc.py index 1d84b84..59f6e39 100644 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -1255,7 +1255,7 @@ location listed above. # List the built-in subclasses, if any: subclasses = sorted( - (str(cls.__name__) for cls in object.__subclasses__() + (str(cls.__name__) for cls in type.__subclasses__(object) if not cls.__name__.startswith("_") and cls.__module__ == "builtins"), key=str.lower ) diff --git a/Lib/test/test_pydoc.py b/Lib/test/test_pydoc.py index 409fea4..c58a8b1 100644 --- a/Lib/test/test_pydoc.py +++ b/Lib/test/test_pydoc.py @@ -636,6 +636,17 @@ class PydocDocTest(unittest.TestCase): # Testing that the subclasses section does not appear self.assertNotIn('Built-in subclasses', text) + def test_builtin_on_metaclasses(self): + """Tests help on metaclasses. + + When running help() on a metaclasses such as type, it + should not contain any "Built-in subclasses" section. + """ + doc = pydoc.TextDoc() + text = doc.docclass(type) + # Testing that the subclasses section does not appear + self.assertNotIn('Built-in subclasses', text) + @unittest.skipIf(sys.flags.optimize >= 2, 'Docstrings are omitted with -O2 and above') @unittest.skipIf(hasattr(sys, 'gettrace') and sys.gettrace(), diff --git a/Misc/NEWS.d/next/Library/2018-12-30-01-10-50.bpo-35614.cnkM4f.rst b/Misc/NEWS.d/next/Library/2018-12-30-01-10-50.bpo-35614.cnkM4f.rst new file mode 100644 index 0000000..4d6beff --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-12-30-01-10-50.bpo-35614.cnkM4f.rst @@ -0,0 +1 @@ +Fixed help() on metaclasses. Patch by Sanyam Khurana. |