diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2022-05-02 22:38:39 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-02 22:38:39 (GMT) |
commit | 81fb3548be5a18bf40a6f4505a02cc7fb72c9c34 (patch) | |
tree | d3c17bf48af2ade6057d237ee2b47847c910d298 | |
parent | 4bed9c47bd6c581c4c8ab59ab7acf0e57510d1f7 (diff) | |
download | cpython-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.py | 13 |
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): |