diff options
author | 2024-03-11 13:42:01 -0700 | |
---|---|---|
committer | 2024-03-11 13:42:01 -0700 | |
commit | 3c0dcef9808e34744096769b15bad4f1f97569f0 (patch) | |
tree | 6aeaef336882e0b64f28bace1701f9c27a39866c | |
parent | gh-71052: Use `raise_signal` in `ThreadSignals.test_signals` (#116423) (diff) | |
download | cpython-3c0dcef9808e34744096769b15bad4f1f97569f0.tar.gz cpython-3c0dcef9808e34744096769b15bad4f1f97569f0.tar.bz2 cpython-3c0dcef9808e34744096769b15bad4f1f97569f0.zip |
gh-116040: [Enum] fix test_empty_names test (GH-116508)
* and fix _not_given usage
-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 3499cb0b715..bcf7aae949f 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -165,8 +165,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: @@ -727,7 +725,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 0a44b61e904..a83aca406cb 100644 --- a/Lib/test/test_enum.py +++ b/Lib/test/test_enum.py @@ -3431,17 +3431,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): |