Update enum for py312 (#10670)

This commit is contained in:
Alex Waygood
2023-09-11 11:26:18 +01:00
committed by GitHub
parent a570fb6ced
commit 23249c07a9
3 changed files with 45 additions and 8 deletions

View File

@@ -2,8 +2,33 @@ from __future__ import annotations
import enum
import sys
from typing import Type
from typing_extensions import Literal, assert_type
A = enum.Enum("A", "spam eggs bacon")
B = enum.Enum("B", ["spam", "eggs", "bacon"])
C = enum.Enum("Bar", [("spam", 1), ("eggs", 2), ("bacon", 3)])
D = enum.Enum("Bar", {"spam": 1, "eggs": 2})
assert_type(A, Type[A])
assert_type(B, Type[B])
assert_type(C, Type[C])
assert_type(D, Type[D])
class EnumOfTuples(enum.Enum):
X = 1, 2, 3
Y = 4, 5, 6
assert_type(EnumOfTuples((1, 2, 3)), EnumOfTuples)
# TODO: ideally this test would pass:
#
# if sys.version_info >= (3, 12):
# assert_type(EnumOfTuples(1, 2, 3), EnumOfTuples)
if sys.version_info >= (3, 11):
class Foo(enum.StrEnum):