mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
bpo-41907: [Enum] fix format() behavior for IntFlag (GH-22497) (GH-23703)
(cherry picked from commit 37440eef7f)
This commit is contained in:
parent
a3a4bf3b8d
commit
14eaa7d752
3 changed files with 16 additions and 1 deletions
|
|
@ -570,12 +570,15 @@ def hello(self):
|
|||
class Test1Enum(MyMethodEnum, int, MyStrEnum):
|
||||
One = 1
|
||||
Two = 2
|
||||
self.assertTrue(Test1Enum._member_type_ is int)
|
||||
self.assertEqual(str(Test1Enum.One), 'MyStr')
|
||||
self.assertEqual(format(Test1Enum.One, ''), 'MyStr')
|
||||
#
|
||||
class Test2Enum(MyStrEnum, MyMethodEnum):
|
||||
One = 1
|
||||
Two = 2
|
||||
self.assertEqual(str(Test2Enum.One), 'MyStr')
|
||||
self.assertEqual(format(Test1Enum.One, ''), 'MyStr')
|
||||
|
||||
def test_inherited_data_type(self):
|
||||
class HexInt(int):
|
||||
|
|
@ -2170,6 +2173,11 @@ def test_repr(self):
|
|||
self.assertEqual(repr(~(Open.RO | Open.CE)), '<Open.AC: 3>')
|
||||
self.assertEqual(repr(~(Open.WO | Open.CE)), '<Open.RW: 2>')
|
||||
|
||||
def test_format(self):
|
||||
Perm = self.Perm
|
||||
self.assertEqual(format(Perm.R, ''), 'Perm.R')
|
||||
self.assertEqual(format(Perm.R | Perm.X, ''), 'Perm.R|X')
|
||||
|
||||
def test_or(self):
|
||||
Perm = self.Perm
|
||||
for i in Perm:
|
||||
|
|
@ -2503,6 +2511,7 @@ class Color(IntFlag):
|
|||
|
||||
def test_type(self):
|
||||
Perm = self.Perm
|
||||
self.assertTrue(Perm._member_type_ is int)
|
||||
Open = self.Open
|
||||
for f in Perm:
|
||||
self.assertTrue(isinstance(f, Perm))
|
||||
|
|
@ -2582,6 +2591,11 @@ def test_repr(self):
|
|||
self.assertEqual(repr(~(Open.WO | Open.CE)), '<Open.RW: -524290>')
|
||||
self.assertEqual(repr(Open(~4)), '<Open.CE|AC|RW|WO: -5>')
|
||||
|
||||
def test_format(self):
|
||||
Perm = self.Perm
|
||||
self.assertEqual(format(Perm.R, ''), '4')
|
||||
self.assertEqual(format(Perm.R | Perm.X, ''), '5')
|
||||
|
||||
def test_or(self):
|
||||
Perm = self.Perm
|
||||
for i in Perm:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue