Skip to content

Commit de20ad9

Browse files
[3.12] gh-123881: Add additional test coverage for PEP 695 edge cases (GH-123886) (#123891)
gh-123881: Add additional test coverage for PEP 695 edge cases (GH-123886) (cherry picked from commit b52de7e) Co-authored-by: Jelle Zijlstra <[email protected]>
1 parent 1248524 commit de20ad9

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

Lib/test/test_type_params.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -882,6 +882,7 @@ class C[T](Base, a=1, b=2, **kwargs):
882882
T, = C.__type_params__
883883
self.assertEqual(T.__name__, "T")
884884
self.assertEqual(C.kwargs, {"a": 1, "b": 2, "c": 3})
885+
self.assertEqual(C.__bases__, (Base, Generic))
885886

886887
bases = (Base,)
887888
class C2[T](*bases, **kwargs):
@@ -890,6 +891,22 @@ class C2[T](*bases, **kwargs):
890891
T, = C2.__type_params__
891892
self.assertEqual(T.__name__, "T")
892893
self.assertEqual(C2.kwargs, {"c": 3})
894+
self.assertEqual(C2.__bases__, (Base, Generic))
895+
896+
def test_starargs_base(self):
897+
class C1[T](*()): pass
898+
899+
T, = C1.__type_params__
900+
self.assertEqual(T.__name__, "T")
901+
self.assertEqual(C1.__bases__, (Generic,))
902+
903+
class Base: pass
904+
bases = [Base]
905+
class C2[T](*bases): pass
906+
907+
T, = C2.__type_params__
908+
self.assertEqual(T.__name__, "T")
909+
self.assertEqual(C2.__bases__, (Base, Generic))
893910

894911

895912
class TypeParamsTraditionalTypeVarsTest(unittest.TestCase):

0 commit comments

Comments
 (0)