Skip to content

Commit 3c0dcef

Browse files
authored
gh-116040: [Enum] fix test_empty_names test (GH-116508)
* and fix _not_given usage
1 parent 34920f3 commit 3c0dcef

File tree

2 files changed

+8
-14
lines changed

2 files changed

+8
-14
lines changed

Lib/enum.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,6 @@ def _dedent(text):
165165
class _not_given:
166166
def __repr__(self):
167167
return('<not given>')
168-
def __bool__(self):
169-
return False
170168
_not_given = _not_given()
171169

172170
class _auto_null:
@@ -727,7 +725,7 @@ def __call__(cls, value, names=_not_given, *values, module=None, qualname=None,
727725
)
728726
return cls._create_(
729727
class_name=value,
730-
names=names or None,
728+
names=None if names is _not_given else names,
731729
module=module,
732730
qualname=qualname,
733731
type=type,

Lib/test/test_enum.py

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3431,17 +3431,13 @@ def test_no_members(self):
34313431
Flag(7)
34323432

34333433
def test_empty_names(self):
3434-
for nothing, e_type in (
3435-
('', None),
3436-
('', int),
3437-
([], None),
3438-
([], int),
3439-
({}, None),
3440-
({}, int),
3441-
):
3442-
empty_enum = Enum('empty_enum', nothing, type=e_type)
3443-
self.assertEqual(len(empty_enum), 0)
3444-
self.assertRaises(TypeError, 'has no members', empty_enum, 0)
3434+
for nothing in '', [], {}:
3435+
for e_type in None, int:
3436+
empty_enum = Enum('empty_enum', nothing, type=e_type)
3437+
self.assertEqual(len(empty_enum), 0)
3438+
self.assertRaisesRegex(TypeError, 'has no members', empty_enum, 0)
3439+
self.assertRaisesRegex(TypeError, '.int. object is not iterable', Enum, 'bad_enum', names=0)
3440+
self.assertRaisesRegex(TypeError, '.int. object is not iterable', Enum, 'bad_enum', 0, type=int)
34453441

34463442

34473443
class TestOrder(unittest.TestCase):

0 commit comments

Comments
 (0)