mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +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
	
	 Miss Islington (bot)
						Miss Islington (bot)