Skip to content

Commit 06e29a2

Browse files
ethanfurmanEclips4
andauthored
gh-116600: [Enum] fix global Flag repr (GH-116615)
* and fix global flag repr * Update Misc/NEWS.d/next/Library/2024-03-11-12-11-10.gh-issue-116600.FcNBy_.rst Co-authored-by: Kirill Podoprigora <[email protected]>
1 parent 3e45030 commit 06e29a2

File tree

3 files changed

+4
-1
lines changed

3 files changed

+4
-1
lines changed

Lib/enum.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1680,7 +1680,7 @@ def global_flag_repr(self):
16801680
cls_name = self.__class__.__name__
16811681
if self._name_ is None:
16821682
return "%s.%s(%r)" % (module, cls_name, self._value_)
1683-
if _is_single_bit(self):
1683+
if _is_single_bit(self._value_):
16841684
return '%s.%s' % (module, self._name_)
16851685
if self._boundary_ is not FlagBoundary.KEEP:
16861686
return '|'.join(['%s.%s' % (module, name) for name in self.name.split('|')])

Lib/test/test_enum.py

+2
Original file line numberDiff line numberDiff line change
@@ -4063,6 +4063,8 @@ def test_global_repr_conform1(self):
40634063

40644064
@reraise_if_not_enum(NoName)
40654065
def test_global_enum_str(self):
4066+
self.assertEqual(repr(NoName.ONE), 'test_enum.ONE')
4067+
self.assertEqual(repr(NoName(0)), 'test_enum.NoName(0)')
40664068
self.assertEqual(str(NoName.ONE & NoName.TWO), 'NoName(0)')
40674069
self.assertEqual(str(NoName(0)), 'NoName(0)')
40684070

Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix :func:`repr` for global :class:`~enum.Flag` members.

0 commit comments

Comments
 (0)