diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2019-08-22 18:11:27 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-22 18:11:27 (GMT) |
commit | 5fda09cc1ebcb364a660bc5a831ef8f6463d810b (patch) | |
tree | 24bb9fa5d6707a5b72514924995dc6881e2e4148 | |
parent | cb8de91dadf15925fb95069cb190398e1d485f56 (diff) | |
download | cpython-5fda09cc1ebcb364a660bc5a831ef8f6463d810b.zip cpython-5fda09cc1ebcb364a660bc5a831ef8f6463d810b.tar.gz cpython-5fda09cc1ebcb364a660bc5a831ef8f6463d810b.tar.bz2 |
bpo-28556: Add a regression test to typing (GH-15396)
This adds a regression test for the issue found in the Python 2 backport, see https://github.com/python/typing/issues/656
https://bugs.python.org/issue28556
(cherry picked from commit 8889627b53e1eea2e32590f1867fbb0b0fc7407f)
Co-authored-by: Ivan Levkivskyi <levkivskyi@gmail.com>
-rw-r--r-- | Lib/test/test_typing.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py index ba001c3..ba0800f 100644 --- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -961,6 +961,23 @@ class ProtocolTests(BaseTestCase): self.assertIsInstance(C(1), P) self.assertIsInstance(C(1), PG) + def test_protocol_checks_after_subscript(self): + class P(Protocol[T]): pass + class C(P[T]): pass + class Other1: pass + class Other2: pass + CA = C[Any] + + self.assertNotIsInstance(Other1(), C) + self.assertNotIsSubclass(Other2, C) + + class D1(C[Any]): pass + class D2(C[Any]): pass + CI = C[int] + + self.assertIsInstance(D1(), C) + self.assertIsSubclass(D2, C) + def test_protocols_support_register(self): @runtime_checkable class P(Protocol): |