mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +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 @@ def __new__(metacls, cls, bases, classdict): | |||
|             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 | ||||
|  |  | |||
|  | @ -1560,9 +1560,7 @@ class Dirtier(IntEnum): | |||
| 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 @@ def test_pydoc(self): | |||
|     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 @@ def test_inspect_classify_class_attrs(self): | |||
|                 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', | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ethan Furman
						Ethan Furman