bpo-34776: Fix dataclasses to support __future__ "annotations" mode (#9518)
diff --git a/Lib/test/test_dataclasses.py b/Lib/test/test_dataclasses.py
index 238335e..8f9fb2c 100644
--- a/Lib/test/test_dataclasses.py
+++ b/Lib/test/test_dataclasses.py
@@ -10,6 +10,7 @@
import unittest
from unittest.mock import Mock
from typing import ClassVar, Any, List, Union, Tuple, Dict, Generic, TypeVar, Optional
+from typing import get_type_hints
from collections import deque, OrderedDict, namedtuple
from functools import total_ordering
@@ -2926,6 +2927,17 @@
# won't exist on the instance.
self.assertNotIn('not_iv4', c.__dict__)
+ def test_text_annotations(self):
+ from test import dataclass_textanno
+
+ self.assertEqual(
+ get_type_hints(dataclass_textanno.Bar),
+ {'foo': dataclass_textanno.Foo})
+ self.assertEqual(
+ get_type_hints(dataclass_textanno.Bar.__init__),
+ {'foo': dataclass_textanno.Foo,
+ 'return': type(None)})
+
class TestMakeDataclass(unittest.TestCase):
def test_simple(self):