[Python-checkins] gh-92106: Add test that subscription works on arbitrary TypedDicts (GH-92176)

miss-islington webhook-mailer at python.org
Mon May 2 21:06:13 EDT 2022


https://github.com/python/cpython/commit/7e55730e3f0a0c8c1b73037011e4b00dd7bd7f69
commit: 7e55730e3f0a0c8c1b73037011e4b00dd7bd7f69
branch: 3.9
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2022-05-02T18:05:49-07:00
summary:

gh-92106: Add test that subscription works on arbitrary TypedDicts (GH-92176)

(cherry picked from commit 81fb3548be5a18bf40a6f4505a02cc7fb72c9c34)

Co-authored-by: Serhiy Storchaka <storchaka at gmail.com>

files:
M Lib/test/test_typing.py

diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py
index 08eddb095d561..3fec59a879141 100644
--- a/Lib/test/test_typing.py
+++ b/Lib/test/test_typing.py
@@ -4076,6 +4076,19 @@ def test_get_type_hints(self):
             {'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):
 



More information about the Python-checkins mailing list