[3.13] gh-123881: Add additional test coverage for PEP 695 edge cases (GH-123886) (#123890)

gh-123881: Add additional test coverage for PEP 695 edge cases (GH-123886)
(cherry picked from commit b52de7e02d)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
This commit is contained in:
Miss Islington (bot) 2024-09-30 03:24:40 +02:00 committed by GitHub
parent 4c3d537531
commit 601ef402fd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -950,6 +950,7 @@ class C[T](Base, a=1, b=2, **kwargs):
T, = C.__type_params__
self.assertEqual(T.__name__, "T")
self.assertEqual(C.kwargs, {"a": 1, "b": 2, "c": 3})
self.assertEqual(C.__bases__, (Base, Generic))
bases = (Base,)
class C2[T](*bases, **kwargs):
@ -958,6 +959,22 @@ class C2[T](*bases, **kwargs):
T, = C2.__type_params__
self.assertEqual(T.__name__, "T")
self.assertEqual(C2.kwargs, {"c": 3})
self.assertEqual(C2.__bases__, (Base, Generic))
def test_starargs_base(self):
class C1[T](*()): pass
T, = C1.__type_params__
self.assertEqual(T.__name__, "T")
self.assertEqual(C1.__bases__, (Generic,))
class Base: pass
bases = [Base]
class C2[T](*bases): pass
T, = C2.__type_params__
self.assertEqual(T.__name__, "T")
self.assertEqual(C2.__bases__, (Base, Generic))
class TypeParamsTraditionalTypeVarsTest(unittest.TestCase):