From 4978b2d100af785d753ade5d423c77a2dd001d78 Mon Sep 17 00:00:00 2001 From: Ethan Furman Date: Mon, 11 Mar 2024 13:42:01 -0700 Subject: [PATCH] gh-116040: [Enum] fix test_empty_names test (GH-116508) * and fix _not_given usage --- Lib/enum.py | 4 +--- Lib/test/test_enum.py | 18 +++++++----------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/Lib/enum.py b/Lib/enum.py index 3499cb0b71547cf..bcf7aae949ffdbe 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -165,8 +165,6 @@ def _dedent(text): class _not_given: def __repr__(self): return('') - 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 0a44b61e9049ede..a83aca406cbd83e 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):