summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2022-05-02 22:38:39 (GMT)
committerGitHub <noreply@github.com>2022-05-02 22:38:39 (GMT)
commit81fb3548be5a18bf40a6f4505a02cc7fb72c9c34 (patch)
treed3c17bf48af2ade6057d237ee2b47847c910d298
parent4bed9c47bd6c581c4c8ab59ab7acf0e57510d1f7 (diff)
downloadcpython-81fb3548be5a18bf40a6f4505a02cc7fb72c9c34.zip
cpython-81fb3548be5a18bf40a6f4505a02cc7fb72c9c34.tar.gz
cpython-81fb3548be5a18bf40a6f4505a02cc7fb72c9c34.tar.bz2
gh-92106: Add test that subscription works on arbitrary TypedDicts (#92176)
-rw-r--r--Lib/test/test_typing.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py
index 88be285..cb7ca36 100644
--- a/Lib/test/test_typing.py
+++ b/Lib/test/test_typing.py
@@ -6024,6 +6024,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 RequiredTests(BaseTestCase):