summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorJelle Zijlstra <jelle.zijlstra@gmail.com>2024-09-10 07:26:42 (GMT)
committerGitHub <noreply@github.com>2024-09-10 07:26:42 (GMT)
commitb52de7e02dba9e1f176d6d978d782fbd0509311e (patch)
treeec6e5e1c3d5c10a3682d066b3bba6ab167f2c642 /Lib/test
parent2afba5ca6d27c69bc0a1618e86c2e4c00eefa4c1 (diff)
downloadcpython-b52de7e02dba9e1f176d6d978d782fbd0509311e.zip
cpython-b52de7e02dba9e1f176d6d978d782fbd0509311e.tar.gz
cpython-b52de7e02dba9e1f176d6d978d782fbd0509311e.tar.bz2
gh-123881: Add additional test coverage for PEP 695 edge cases (#123886)
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_type_params.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/Lib/test/test_type_params.py b/Lib/test/test_type_params.py
index d9c9ec4..dc0c0d0 100644
--- a/Lib/test/test_type_params.py
+++ b/Lib/test/test_type_params.py
@@ -951,6 +951,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):
@@ -959,6 +960,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):