mirror of
https://github.com/python/cpython.git
synced 2025-09-18 14:40:43 +00:00
Close issue23900: add default __doc__ to new enumerations that do not specify one.
This commit is contained in:
parent
a1c7e727c8
commit
48a724fa33
2 changed files with 9 additions and 5 deletions
|
@ -106,6 +106,10 @@ class EnumMeta(type):
|
||||||
raise ValueError('Invalid enum member name: {0}'.format(
|
raise ValueError('Invalid enum member name: {0}'.format(
|
||||||
','.join(invalid_names)))
|
','.join(invalid_names)))
|
||||||
|
|
||||||
|
# create a default docstring if one has not been provided
|
||||||
|
if '__doc__' not in classdict:
|
||||||
|
classdict['__doc__'] = 'An enumeration.'
|
||||||
|
|
||||||
# create our new Enum type
|
# create our new Enum type
|
||||||
enum_class = super().__new__(metacls, cls, bases, classdict)
|
enum_class = super().__new__(metacls, cls, bases, classdict)
|
||||||
enum_class._member_names_ = [] # names in definition order
|
enum_class._member_names_ = [] # names in definition order
|
||||||
|
|
|
@ -1560,9 +1560,7 @@ expected_help_output_with_docs = """\
|
||||||
Help on class Color in module %s:
|
Help on class Color in module %s:
|
||||||
|
|
||||||
class Color(enum.Enum)
|
class Color(enum.Enum)
|
||||||
| Generic enumeration.
|
| An enumeration.
|
||||||
|\x20\x20
|
|
||||||
| Derive from this class to define new enumerations.
|
|
||||||
|\x20\x20
|
|\x20\x20
|
||||||
| Method resolution order:
|
| Method resolution order:
|
||||||
| Color
|
| Color
|
||||||
|
@ -1626,6 +1624,8 @@ class Color(enum.Enum)
|
||||||
|
|
||||||
class TestStdLib(unittest.TestCase):
|
class TestStdLib(unittest.TestCase):
|
||||||
|
|
||||||
|
maxDiff = None
|
||||||
|
|
||||||
class Color(Enum):
|
class Color(Enum):
|
||||||
red = 1
|
red = 1
|
||||||
green = 2
|
green = 2
|
||||||
|
@ -1646,7 +1646,7 @@ class TestStdLib(unittest.TestCase):
|
||||||
def test_inspect_getmembers(self):
|
def test_inspect_getmembers(self):
|
||||||
values = dict((
|
values = dict((
|
||||||
('__class__', EnumMeta),
|
('__class__', EnumMeta),
|
||||||
('__doc__', None),
|
('__doc__', 'An enumeration.'),
|
||||||
('__members__', self.Color.__members__),
|
('__members__', self.Color.__members__),
|
||||||
('__module__', __name__),
|
('__module__', __name__),
|
||||||
('blue', self.Color.blue),
|
('blue', self.Color.blue),
|
||||||
|
@ -1674,7 +1674,7 @@ class TestStdLib(unittest.TestCase):
|
||||||
Attribute(name='__class__', kind='data',
|
Attribute(name='__class__', kind='data',
|
||||||
defining_class=object, object=EnumMeta),
|
defining_class=object, object=EnumMeta),
|
||||||
Attribute(name='__doc__', kind='data',
|
Attribute(name='__doc__', kind='data',
|
||||||
defining_class=self.Color, object=None),
|
defining_class=self.Color, object='An enumeration.'),
|
||||||
Attribute(name='__members__', kind='property',
|
Attribute(name='__members__', kind='property',
|
||||||
defining_class=EnumMeta, object=EnumMeta.__members__),
|
defining_class=EnumMeta, object=EnumMeta.__members__),
|
||||||
Attribute(name='__module__', kind='data',
|
Attribute(name='__module__', kind='data',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue