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

This commit is contained in:
Serhiy Storchaka 2015-04-21 21:09:48 +03:00
parent d73aca769f
commit b6076fb13c
3 changed files with 11 additions and 1 deletions

View File

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

View File

@ -1029,6 +1029,14 @@ class PydocWithMetaClasses(unittest.TestCase):
print_diffs(expected_text, result)
self.fail("outputs are not equal, see diff above")
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
def test_main():

View File

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