]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-92106: Add test that subscription works on arbitrary TypedDicts (GH-92176)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 3 May 2022 01:05:49 +0000 (18:05 -0700)
committerGitHub <noreply@github.com>
Tue, 3 May 2022 01:05:49 +0000 (18:05 -0700)
(cherry picked from commit 81fb3548be5a18bf40a6f4505a02cc7fb72c9c34)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Lib/test/test_typing.py

index 08eddb095d561438233f64a1bccdb45492d6f99c..3fec59a87914158ee766374c04ce6bde6fdaf458 100644 (file)
@@ -4076,6 +4076,19 @@ class TypedDictTests(BaseTestCase):
             {'a': typing.Optional[int], 'b': int}
         )
 
+    def test_non_generic_subscript(self):
+        # For backward compatibility, subscription works
+        # on arbitrary TypedDict types.
+        class TD(TypedDict):
+            a: T
+        A = TD[int]
+        self.assertEqual(A.__origin__, TD)
+        self.assertEqual(A.__parameters__, ())
+        self.assertEqual(A.__args__, (int,))
+        a = A(a = 1)
+        self.assertIs(type(a), dict)
+        self.assertEqual(a, {'a': 1})
+
 
 class IOTests(BaseTestCase):