Kaydet (Commit) 056eb027 authored tarafından Serhiy Storchaka's avatar Serhiy Storchaka

Issue #20654: Fixed pydoc for enums with zero value. Patch by Vajrasky Kok.

üst 4ac30f17
......@@ -1244,9 +1244,12 @@ location listed above.
doc = getdoc(value)
else:
doc = None
push(self.docother(
getattr(object, name, None) or homecls.__dict__[name],
name, mod, maxlen=70, doc=doc) + '\n')
try:
obj = getattr(object, name)
except AttributeError:
obj = homecls.__dict__[name]
push(self.docother(obj, name, mod, maxlen=70, doc=doc) +
'\n')
return attrs
attrs = [(name, kind, cls, value)
......
......@@ -386,6 +386,16 @@ class PydocDocTest(unittest.TestCase):
print_diffs(expected_text, result)
self.fail("outputs are not equal, see diff above")
def test_text_enum_member_with_value_zero(self):
# Test issue #20654 to ensure enum member with value 0 can be
# displayed. It used to throw KeyError: 'zero'.
import enum
class BinaryInteger(enum.IntEnum):
zero = 0
one = 1
doc = pydoc.render_doc(BinaryInteger)
self.assertIn('<BinaryInteger.zero: 0>', doc)
def test_issue8225(self):
# Test issue8225 to ensure no doc link appears for xml.etree
result, doc_loc = get_pydoc_text(xml.etree)
......
......@@ -28,6 +28,8 @@ Core and Builtins
Library
-------
- Issue #20654: Fixed pydoc for enums with zero value. Patch by Vajrasky Kok.
- Issue #20635: Fixed grid_columnconfigure() and grid_rowconfigure() methods of
Tkinter widgets to work in wantobjects=True mode.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment