]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-123881: Add additional test coverage for PEP 695 edge cases (GH-123886...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 30 Sep 2024 01:24:40 +0000 (03:24 +0200)
committerGitHub <noreply@github.com>
Mon, 30 Sep 2024 01:24:40 +0000 (18:24 -0700)
gh-123881: Add additional test coverage for PEP 695 edge cases (GH-123886)
(cherry picked from commit b52de7e02dba9e1f176d6d978d782fbd0509311e)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Lib/test/test_type_params.py

index bf1a34b9fc82b35cdf505d7eae0e77c28ddc5feb..4eb4bf024de7574c3695f3e932e9e5805b23b577 100644 (file)
@@ -950,6 +950,7 @@ class TypeParamsComplexCallsTest(unittest.TestCase):
         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 TypeParamsComplexCallsTest(unittest.TestCase):
         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):