diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2024-03-11 22:16:22 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-11 22:16:22 (GMT) |
commit | 8b3b5be934622670dc1670ab60b70c668004bb62 (patch) | |
tree | 33e665cf282166114cbe14c21fef5943b0480572 /Lib | |
parent | 1231697697f3d2c8e7bbec03fa3fb751395b7d45 (diff) | |
download | cpython-8b3b5be934622670dc1670ab60b70c668004bb62.zip cpython-8b3b5be934622670dc1670ab60b70c668004bb62.tar.gz cpython-8b3b5be934622670dc1670ab60b70c668004bb62.tar.bz2 |
[3.12] gh-116040: [Enum] fix test_empty_names test (GH-116508) (GH-116619)
* and fix _not_given usage
(cherry picked from commit 3c0dcef9808e34744096769b15bad4f1f97569f0)
Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
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): |