summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorEthan Furman <ethan@stoneleaf.us>2015-04-12 06:23:06 (GMT)
committerEthan Furman <ethan@stoneleaf.us>2015-04-12 06:23:06 (GMT)
commit48a724fa33143bcbab2228058d3f59e1813bd49c (patch)
tree1e5ab980434e531aa80d841c3072978c9b925f6c /Lib
parenta1c7e727c8fd9a9bf924ecc20c7d6892d19aa99e (diff)
downloadcpython-48a724fa33143bcbab2228058d3f59e1813bd49c.zip
cpython-48a724fa33143bcbab2228058d3f59e1813bd49c.tar.gz
cpython-48a724fa33143bcbab2228058d3f59e1813bd49c.tar.bz2
Close issue23900: add default __doc__ to new enumerations that do not specify one.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/enum.py4
-rw-r--r--Lib/test/test_enum.py10
2 files changed, 9 insertions, 5 deletions
diff --git a/Lib/enum.py b/Lib/enum.py
index 1d9ebf0..c28f345 100644
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -106,6 +106,10 @@ class EnumMeta(type):
raise ValueError('Invalid enum member name: {0}'.format(
','.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
enum_class = super().__new__(metacls, cls, bases, classdict)
enum_class._member_names_ = [] # names in definition order
diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py
index 1e8c080..4b5d0d0 100644
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -1560,9 +1560,7 @@ expected_help_output_with_docs = """\
Help on class Color in module %s:
class Color(enum.Enum)
- | Generic enumeration.
- |\x20\x20
- | Derive from this class to define new enumerations.
+ | An enumeration.
|\x20\x20
| Method resolution order:
| Color
@@ -1626,6 +1624,8 @@ class Color(enum.Enum)
class TestStdLib(unittest.TestCase):
+ maxDiff = None
+
class Color(Enum):
red = 1
green = 2
@@ -1646,7 +1646,7 @@ class TestStdLib(unittest.TestCase):
def test_inspect_getmembers(self):
values = dict((
('__class__', EnumMeta),
- ('__doc__', None),
+ ('__doc__', 'An enumeration.'),
('__members__', self.Color.__members__),
('__module__', __name__),
('blue', self.Color.blue),
@@ -1674,7 +1674,7 @@ class TestStdLib(unittest.TestCase):
Attribute(name='__class__', kind='data',
defining_class=object, object=EnumMeta),
Attribute(name='__doc__', kind='data',
- defining_class=self.Color, object=None),
+ defining_class=self.Color, object='An enumeration.'),
Attribute(name='__members__', kind='property',
defining_class=EnumMeta, object=EnumMeta.__members__),
Attribute(name='__module__', kind='data',