diff options
author | Ethan Furman <ethan@stoneleaf.us> | 2024-03-11 20:42:01 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-11 20:42:01 (GMT) |
commit | 3c0dcef9808e34744096769b15bad4f1f97569f0 (patch) | |
tree | 6aeaef336882e0b64f28bace1701f9c27a39866c /Lib | |
parent | 34920f36917de0d4e658cf94992d53a5a7f27f51 (diff) | |
download | cpython-3c0dcef9808e34744096769b15bad4f1f97569f0.zip cpython-3c0dcef9808e34744096769b15bad4f1f97569f0.tar.gz cpython-3c0dcef9808e34744096769b15bad4f1f97569f0.tar.bz2 |
gh-116040: [Enum] fix test_empty_names test (GH-116508)
* and fix _not_given usage
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 3499cb0..bcf7aae 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 0a44b61..a83aca4 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): |