Issue #23008: Fixed resolving attributes with boolean value is False in pydoc.

This commit is contained in:
Serhiy Storchaka 2015-04-21 21:11:13 +03:00
commit f5e8540e1b
3 changed files with 11 additions and 1 deletions

View file

@ -1588,7 +1588,7 @@ def resolve(thing, forceload=0):
"""Given an object or a path to an object, get the object and its name.""" """Given an object or a path to an object, get the object and its name."""
if isinstance(thing, str): if isinstance(thing, str):
object = locate(thing, forceload) object = locate(thing, forceload)
if not object: if object is None:
raise ImportError('''\ raise ImportError('''\
No Python documentation found for %r. No Python documentation found for %r.
Use help() to get the interactive help utility. Use help() to get the interactive help utility.

View file

@ -1006,6 +1006,14 @@ class PydocWithMetaClasses(unittest.TestCase):
result = output.getvalue().strip() result = output.getvalue().strip()
self.assertEqual(expected_text, result) self.assertEqual(expected_text, result)
def test_resolve_false(self):
# Issue #23008: pydoc enum.{,Int}Enum failed
# because bool(enum.Enum) is False.
with captured_stdout() as help_io:
pydoc.help('enum.Enum')
helptext = help_io.getvalue()
self.assertIn('class Enum', helptext)
@reap_threads @reap_threads
def test_main(): def test_main():

View file

@ -15,6 +15,8 @@ Core and Builtins
Library Library
------- -------
- Issue #23008: Fixed resolving attributes with boolean value is False in pydoc.
- Fix asyncio issue 235: LifoQueue and PriorityQueue's put didn't - Fix asyncio issue 235: LifoQueue and PriorityQueue's put didn't
increment unfinished tasks (this bug was introduced when increment unfinished tasks (this bug was introduced when
JoinableQueue was merged with Queue). JoinableQueue was merged with Queue).