mirror of
https://github.com/python/cpython.git
synced 2025-07-29 14:15:07 +00:00
[3.12] gh-104271: Fix auto() fallback in case of mixed type Enum (GH-104279)
gh-104271: Fix auto() fallback in case of mixed type Enum
This commit is contained in:
parent
9aea1f28e2
commit
f4e2049f14
2 changed files with 5 additions and 2 deletions
|
@ -1185,7 +1185,7 @@ class Enum(metaclass=EnumType):
|
||||||
DeprecationWarning,
|
DeprecationWarning,
|
||||||
stacklevel=3,
|
stacklevel=3,
|
||||||
)
|
)
|
||||||
for v in last_values:
|
for v in reversed(last_values):
|
||||||
try:
|
try:
|
||||||
return v + 1
|
return v + 1
|
||||||
except TypeError:
|
except TypeError:
|
||||||
|
|
|
@ -4254,11 +4254,14 @@ class TestInternals(unittest.TestCase):
|
||||||
red = 'red'
|
red = 'red'
|
||||||
blue = 2
|
blue = 2
|
||||||
green = auto()
|
green = auto()
|
||||||
|
yellow = auto()
|
||||||
|
|
||||||
self.assertEqual(list(Color), [Color.red, Color.blue, Color.green])
|
self.assertEqual(list(Color),
|
||||||
|
[Color.red, Color.blue, Color.green, Color.yellow])
|
||||||
self.assertEqual(Color.red.value, 'red')
|
self.assertEqual(Color.red.value, 'red')
|
||||||
self.assertEqual(Color.blue.value, 2)
|
self.assertEqual(Color.blue.value, 2)
|
||||||
self.assertEqual(Color.green.value, 3)
|
self.assertEqual(Color.green.value, 3)
|
||||||
|
self.assertEqual(Color.yellow.value, 4)
|
||||||
|
|
||||||
@unittest.skipIf(
|
@unittest.skipIf(
|
||||||
python_version < (3, 13),
|
python_version < (3, 13),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue