|
1 | 1 | import typing as t |
| 2 | +from textwrap import dedent |
2 | 3 |
|
3 | 4 | import pytest |
4 | 5 | import typing_extensions as te |
5 | 6 | from sqlmodel import Field, SQLModel |
6 | 7 |
|
| 8 | +from tests.conftest import needs_py312 |
| 9 | + |
7 | 10 |
|
8 | 11 | def test_sa_type_typing_1() -> None: |
9 | 12 | Type1_t = str |
@@ -39,20 +42,28 @@ class Hero(SQLModel, table=True): |
39 | 42 | weapon: Type4_t = "sword" |
40 | 43 |
|
41 | 44 |
|
| 45 | +@needs_py312 |
42 | 46 | def test_sa_type_typing_5() -> None: |
| 47 | + test_code = dedent(""" |
43 | 48 | type Type5_t = str |
44 | 49 |
|
45 | 50 | class Hero(SQLModel, table=True): |
46 | 51 | pk: int = Field(primary_key=True) |
47 | 52 | weapon: Type5_t = "sword" |
| 53 | + """) |
| 54 | + exec(test_code, globals()) |
48 | 55 |
|
49 | 56 |
|
| 57 | +@needs_py312 |
50 | 58 | def test_sa_type_typing_6() -> None: |
| 59 | + test_code = dedent(""" |
51 | 60 | type Type6_t = t.Annotated[str, "Just a comment"] |
52 | 61 |
|
53 | 62 | class Hero(SQLModel, table=True): |
54 | 63 | pk: int = Field(primary_key=True) |
55 | 64 | weapon: Type6_t = "sword" |
| 65 | + """) |
| 66 | + exec(test_code, globals()) |
56 | 67 |
|
57 | 68 |
|
58 | 69 | def test_sa_type_typing_7() -> None: |
@@ -115,20 +126,28 @@ class Hero(SQLModel, table=True): |
115 | 126 | weapon: Type4_te = "sword" |
116 | 127 |
|
117 | 128 |
|
| 129 | +@needs_py312 |
118 | 130 | def test_sa_type_typing_extensions_5() -> None: |
| 131 | + test_code = dedent(""" |
119 | 132 | type Type5_te = str |
120 | 133 |
|
121 | 134 | class Hero(SQLModel, table=True): |
122 | 135 | pk: int = Field(primary_key=True) |
123 | 136 | weapon: Type5_te = "sword" |
| 137 | + """) |
| 138 | + exec(test_code, globals()) |
124 | 139 |
|
125 | 140 |
|
| 141 | +@needs_py312 |
126 | 142 | def test_sa_type_typing_extensions_6() -> None: |
| 143 | + test_code = dedent(""" |
127 | 144 | type Type6_te = te.Annotated[str, "Just a comment"] |
128 | 145 |
|
129 | 146 | class Hero(SQLModel, table=True): |
130 | 147 | pk: int = Field(primary_key=True) |
131 | 148 | weapon: Type6_te = "sword" |
| 149 | + """) |
| 150 | + exec(test_code, globals()) |
132 | 151 |
|
133 | 152 |
|
134 | 153 | def test_sa_type_typing_extensions_7() -> None: |
|
0 commit comments