Skip to content

Commit 1fb6615

Browse files
miss-islingtonethanfurmanEclips4
authored
[3.12] gh-116600: [Enum] fix global Flag repr (GH-116615) (GH-116629)
* 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 8b3b5be commit 1fb6615

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
@@ -1651,7 +1651,7 @@ def global_flag_repr(self):
16511651
cls_name = self.__class__.__name__
16521652
if self._name_ is None:
16531653
return "%s.%s(%r)" % (module, cls_name, self._value_)
1654-
if _is_single_bit(self):
1654+
if _is_single_bit(self._value_):
16551655
return '%s.%s' % (module, self._name_)
16561656
if self._boundary_ is not FlagBoundary.KEEP:
16571657
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
@@ -3959,6 +3959,8 @@ def test_global_repr_conform1(self):
39593959
)
39603960

39613961
def test_global_enum_str(self):
3962+
self.assertEqual(repr(NoName.ONE), 'test_enum.ONE')
3963+
self.assertEqual(repr(NoName(0)), 'test_enum.NoName(0)')
39623964
self.assertEqual(str(NoName.ONE & NoName.TWO), 'NoName(0)')
39633965
self.assertEqual(str(NoName(0)), 'NoName(0)')
39643966

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)