https://github.com/python/cpython/commit/de20ad9683de6d3e0b206f66b912001e063478b9
commit: de20ad9683de6d3e0b206f66b912001e063478b9
branch: 3.12
author: Miss Islington (bot) <[email protected]>
committer: JelleZijlstra <[email protected]>
date: 2024-09-10T06:27:50-07:00
summary:

[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 b52de7e02dba9e1f176d6d978d782fbd0509311e)

Co-authored-by: Jelle Zijlstra <[email protected]>

files:
M Lib/test/test_type_params.py

diff --git a/Lib/test/test_type_params.py b/Lib/test/test_type_params.py
index eae91690ce6eeb..51055dd986b166 100644
--- a/Lib/test/test_type_params.py
+++ b/Lib/test/test_type_params.py
@@ -882,6 +882,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):
@@ -890,6 +891,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):

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to