Browse Source

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

pull/9921/head
Serhiy Storchaka 11 years ago
parent
commit
b6076fb13c
  1. 2
      Lib/pydoc.py
  2. 8
      Lib/test/test_pydoc.py
  3. 2
      Misc/NEWS

2
Lib/pydoc.py

@ -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:

8
Lib/test/test_pydoc.py

@ -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():

2
Misc/NEWS

@ -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).

Loading…
Cancel
Save