Skip to content

Commit 5562a09

Browse files
miss-islingtonethanfurmanEclips4
authored
[3.11] gh-116600: [Enum] fix global Flag repr (GH-116615) (#116630)
* and fix global flag repr (cherry picked from commit 06e29a2) Co-authored-by: Ethan Furman <[email protected]> Co-authored-by: Kirill Podoprigora <[email protected]>
1 parent 830fbe9 commit 5562a09

File tree

3 files changed

+4
-1
lines changed

3 files changed

+4
-1
lines changed

Lib/enum.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1611,7 +1611,7 @@ def global_flag_repr(self):
16111611
cls_name = self.__class__.__name__
16121612
if self._name_ is None:
16131613
return "%s.%s(%r)" % (module, cls_name, self._value_)
1614-
if _is_single_bit(self):
1614+
if _is_single_bit(self._value_):
16151615
return '%s.%s' % (module, self._name_)
16161616
if self._boundary_ is not FlagBoundary.KEEP:
16171617
return '|'.join(['%s.%s' % (module, name) for name in self.name.split('|')])

Lib/test/test_enum.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3590,6 +3590,8 @@ def test_global_repr_conform1(self):
35903590
)
35913591

35923592
def test_global_enum_str(self):
3593+
self.assertEqual(repr(NoName.ONE), 'test_enum.ONE')
3594+
self.assertEqual(repr(NoName(0)), 'test_enum.NoName(0)')
35933595
self.assertEqual(str(NoName.ONE & NoName.TWO), 'NoName(0)')
35943596
self.assertEqual(str(NoName(0)), 'NoName(0)')
35953597

Lines changed: 1 addition & 0 deletions
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)