summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_typing.py
diff options
context:
space:
mode:
authorYurii Karabas <1998uriyyo@gmail.com>2021-07-20 13:20:38 (GMT)
committerGitHub <noreply@github.com>2021-07-20 13:20:38 (GMT)
commit965dd76e9060e27e2253ba8c8d21a142b178720d (patch)
tree9dd54317abe0b0a0009de0b07a7ee5fd2b5e0f39 /Lib/test/test_typing.py
parent4c0deb25ac899fbe4da626ce3cb21f204cdd3aa9 (diff)
downloadcpython-965dd76e9060e27e2253ba8c8d21a142b178720d.zip
cpython-965dd76e9060e27e2253ba8c8d21a142b178720d.tar.gz
cpython-965dd76e9060e27e2253ba8c8d21a142b178720d.tar.bz2
bpo-44353: Refactor typing.NewType into callable class (GH-27250)
Diffstat (limited to 'Lib/test/test_typing.py')
-rw-r--r--Lib/test/test_typing.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py
index b696447..169b92b 100644
--- a/Lib/test/test_typing.py
+++ b/Lib/test/test_typing.py
@@ -3691,6 +3691,26 @@ class NewTypeTests(BaseTestCase):
class D(UserName):
pass
+ def test_or(self):
+ UserId = NewType('UserId', int)
+
+ self.assertEqual(UserId | int, Union[UserId, int])
+ self.assertEqual(int | UserId, Union[int, UserId])
+
+ self.assertEqual(get_args(UserId | int), (UserId, int))
+ self.assertEqual(get_args(int | UserId), (int, UserId))
+
+ def test_special_attrs(self):
+ UserId = NewType('UserId', int)
+
+ self.assertEqual(UserId.__name__, 'UserId')
+ self.assertEqual(UserId.__qualname__, 'UserId')
+ self.assertEqual(UserId.__module__, __name__)
+
+ def test_repr(self):
+ UserId = NewType('UserId', int)
+
+ self.assertEqual(repr(UserId), f'{__name__}.UserId')
class NamedTupleTests(BaseTestCase):
class NestedEmployee(NamedTuple):