summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_typing.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py
index 45ba761..1c86b95 100644
--- a/Lib/test/test_typing.py
+++ b/Lib/test/test_typing.py
@@ -7152,6 +7152,25 @@ class GetTypeHintTests(BaseTestCase):
self.assertEqual(get_type_hints(C, format=annotationlib.Format.STRING),
{'x': 'undefined'})
+ def test_get_type_hints_format_function(self):
+ def func(x: undefined) -> undefined: ...
+
+ # VALUE
+ with self.assertRaises(NameError):
+ get_type_hints(func)
+ with self.assertRaises(NameError):
+ get_type_hints(func, format=annotationlib.Format.VALUE)
+
+ # FORWARDREF
+ self.assertEqual(
+ get_type_hints(func, format=annotationlib.Format.FORWARDREF),
+ {'x': ForwardRef('undefined'), 'return': ForwardRef('undefined')},
+ )
+
+ # STRING
+ self.assertEqual(get_type_hints(func, format=annotationlib.Format.STRING),
+ {'x': 'undefined', 'return': 'undefined'})
+
class GetUtilitiesTestCase(TestCase):
def test_get_origin(self):