| 971 | |
| 972 | def test_stringized_annotation_permutations(self): |
| 973 | def define_class(name, has_future, has_annos, base_text, extra_names=None): |
| 974 | lines = [] |
| 975 | if has_future: |
| 976 | lines.append("from __future__ import annotations") |
| 977 | lines.append(f"class {name}({base_text}):") |
| 978 | if has_annos: |
| 979 | lines.append(f" {name}_attr: int") |
| 980 | else: |
| 981 | lines.append(" pass") |
| 982 | code = "\n".join(lines) |
| 983 | ns = support.run_code(code, extra_names=extra_names) |
| 984 | return ns[name] |
| 985 | |
| 986 | def check_annotations(cls, has_future, has_annos): |
| 987 | if has_annos: |