]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.10] bpo-46413: properly test `__{r}or__` code paths in `_SpecialGenericAlias`...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 19 Jan 2022 16:11:12 +0000 (08:11 -0800)
committerGitHub <noreply@github.com>
Wed, 19 Jan 2022 16:11:12 +0000 (08:11 -0800)
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
(cherry picked from commit 0a49148e87cca11e3820cbff2abfd316986a68c6)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Automerge-Triggered-By: GH:Fidget-Spinner
Lib/test/test_typing.py

index b886c38827f1ff03b0f4a8c94c3578b18bbcb4f5..ee432b65cf5df51661bce9ed6d6abd9eb6ef5749 100644 (file)
@@ -515,6 +515,10 @@ class BaseCallableTests:
         # Shouldn't crash; see https://github.com/python/typing/issues/259
         typing.List[Callable[..., str]]
 
+    def test_or_and_ror(self):
+        Callable = self.Callable
+        self.assertEqual(Callable | Tuple, Union[Callable, Tuple])
+        self.assertEqual(Tuple | Callable, Union[Tuple, Callable])
 
     def test_basic(self):
         Callable = self.Callable
@@ -3834,6 +3838,10 @@ class CollectionsAbcTests(BaseTestCase):
         A.register(B)
         self.assertIsSubclass(B, typing.Mapping)
 
+    def test_or_and_ror(self):
+        self.assertEqual(typing.Sized | typing.Awaitable, Union[typing.Sized, typing.Awaitable])
+        self.assertEqual(typing.Coroutine | typing.Hashable, Union[typing.Coroutine, typing.Hashable])
+
 
 class OtherABCTests(BaseTestCase):