diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/enum.py | 4 | ||||
-rw-r--r-- | Lib/test/test_enum.py | 18 |
2 files changed, 8 insertions, 14 deletions
diff --git a/Lib/enum.py b/Lib/enum.py index 110fbda..50eca3f 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -169,8 +169,6 @@ def _dedent(text): class _not_given: def __repr__(self): return('<not given>') - def __bool__(self): - return False _not_given = _not_given() class _auto_null: @@ -765,7 +763,7 @@ class EnumType(type): ) return cls._create_( class_name=value, - names=names or None, + names=None if names is _not_given else names, module=module, qualname=qualname, type=type, diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py index d5e9444..2fea9f9 100644 --- a/Lib/test/test_enum.py +++ b/Lib/test/test_enum.py @@ -3334,17 +3334,13 @@ class TestSpecial(unittest.TestCase): Flag(7) def test_empty_names(self): - for nothing, e_type in ( - ('', None), - ('', int), - ([], None), - ([], int), - ({}, None), - ({}, int), - ): - empty_enum = Enum('empty_enum', nothing, type=e_type) - self.assertEqual(len(empty_enum), 0) - self.assertRaises(TypeError, 'has no members', empty_enum, 0) + for nothing in '', [], {}: + for e_type in None, int: + empty_enum = Enum('empty_enum', nothing, type=e_type) + self.assertEqual(len(empty_enum), 0) + self.assertRaisesRegex(TypeError, 'has no members', empty_enum, 0) + self.assertRaisesRegex(TypeError, '.int. object is not iterable', Enum, 'bad_enum', names=0) + self.assertRaisesRegex(TypeError, '.int. object is not iterable', Enum, 'bad_enum', 0, type=int) class TestOrder(unittest.TestCase): |