From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 30 Sep 2024 01:24:40 +0000 (+0200) Subject: [3.13] gh-123881: Add additional test coverage for PEP 695 edge cases (GH-123886... X-Git-Tag: v3.13.0rc3~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=601ef402fd75a55f0a07bdc8c85b236800fcc6eb;p=thirdparty%2FPython%2Fcpython.git [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 b52de7e02dba9e1f176d6d978d782fbd0509311e) Co-authored-by: Jelle Zijlstra --- diff --git a/Lib/test/test_type_params.py b/Lib/test/test_type_params.py index bf1a34b9fc82..4eb4bf024de7 100644 --- a/Lib/test/test_type_params.py +++ b/Lib/test/test_type_params.py @@ -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):