mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	Issue26748: Enum classes should evaluate as True
This commit is contained in:
		
						commit
						0fe7978c68
					
				
					 2 changed files with 19 additions and 0 deletions
				
			
		|  | @ -212,6 +212,12 @@ def __new__(metacls, cls, bases, classdict): | ||||||
|             enum_class.__new__ = Enum.__new__ |             enum_class.__new__ = Enum.__new__ | ||||||
|         return enum_class |         return enum_class | ||||||
| 
 | 
 | ||||||
|  |     def __bool__(self): | ||||||
|  |         """ | ||||||
|  |         classes/types should always be True. | ||||||
|  |         """ | ||||||
|  |         return True | ||||||
|  | 
 | ||||||
|     def __call__(cls, value, names=None, *, module=None, qualname=None, type=None, start=1): |     def __call__(cls, value, names=None, *, module=None, qualname=None, type=None, start=1): | ||||||
|         """Either returns an existing member, or creates a new enum class. |         """Either returns an existing member, or creates a new enum class. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -254,6 +254,19 @@ def spam(cls): | ||||||
|         with self.assertRaises(AttributeError): |         with self.assertRaises(AttributeError): | ||||||
|             del Season.SPRING.name |             del Season.SPRING.name | ||||||
| 
 | 
 | ||||||
|  |     def test_bool_of_class(self): | ||||||
|  |         class Empty(Enum): | ||||||
|  |             pass | ||||||
|  |         self.assertTrue(bool(Empty)) | ||||||
|  | 
 | ||||||
|  |     def test_bool_of_member(self): | ||||||
|  |         class Count(Enum): | ||||||
|  |             zero = 0 | ||||||
|  |             one = 1 | ||||||
|  |             two = 2 | ||||||
|  |         for member in Count: | ||||||
|  |             self.assertTrue(bool(member)) | ||||||
|  | 
 | ||||||
|     def test_invalid_names(self): |     def test_invalid_names(self): | ||||||
|         with self.assertRaises(ValueError): |         with self.assertRaises(ValueError): | ||||||
|             class Wrong(Enum): |             class Wrong(Enum): | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ethan Furman
						Ethan Furman