]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-44353: Add test to cover __or__ of two NewType (GH-27259) (#27261)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 20 Jul 2021 16:06:38 +0000 (09:06 -0700)
committerGitHub <noreply@github.com>
Tue, 20 Jul 2021 16:06:38 +0000 (18:06 +0200)
(cherry picked from commit 4868b94c6089d457673b1ba5b5b64c2f38c435af)

Co-authored-by: Yurii Karabas <1998uriyyo@gmail.com>
Lib/test/test_typing.py

index 3a28be1d7f56b0949718c1355651cd910557a389..f5abbb29db641a4d0cbd8dadf757e5721061dfc1 100644 (file)
@@ -3692,12 +3692,15 @@ class NewTypeTests(BaseTestCase):
 
     def test_or(self):
         UserId = NewType('UserId', int)
+        UserName = NewType('UserName', str)
 
-        self.assertEqual(UserId | int, Union[UserId, int])
-        self.assertEqual(int | UserId, Union[int, UserId])
+        for cls in (int, UserName):
+            with self.subTest(cls=cls):
+                self.assertEqual(UserId | cls, Union[UserId, cls])
+                self.assertEqual(cls | UserId, Union[cls, UserId])
 
-        self.assertEqual(get_args(UserId | int), (UserId, int))
-        self.assertEqual(get_args(int | UserId), (int, UserId))
+                self.assertEqual(get_args(UserId | cls), (UserId, cls))
+                self.assertEqual(get_args(cls | UserId), (cls, UserId))
 
     def test_special_attrs(self):
         UserId = NewType('UserId', int)