https://github.com/python/cpython/commit/3c0dcef9808e34744096769b15bad4f1f97569f0
commit: 3c0dcef9808e34744096769b15bad4f1f97569f0
branch: main
author: Ethan Furman <[email protected]>
committer: ethanfurman <[email protected]>
date: 2024-03-11T13:42:01-07:00
summary:

gh-116040: [Enum] fix test_empty_names test (GH-116508)

* and fix _not_given usage

files:
M Lib/enum.py
M Lib/test/test_enum.py

diff --git a/Lib/enum.py b/Lib/enum.py
index 3499cb0b71547c..bcf7aae949ffdb 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 @@ def __call__(cls, value, names=_not_given, *values, 
module=None, qualname=None,
                     )
         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 0a44b61e9049ed..a83aca406cbd83 100644
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -3431,17 +3431,13 @@ def test_no_members(self):
             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):

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to