|
39 | 39 | Members, |
40 | 40 | NewProtocol, |
41 | 41 | Param, |
| 42 | + Slice, |
42 | 43 | SpecialFormEllipsis, |
43 | 44 | StrConcat, |
44 | | - StrSlice, |
45 | 45 | Uppercase, |
46 | 46 | _BoolLiteral, |
47 | 47 | ) |
@@ -245,12 +245,12 @@ def test_type_strings_4(): |
245 | 245 |
|
246 | 246 |
|
247 | 247 | def test_type_strings_5(): |
248 | | - d = eval_typing(StrSlice[Literal["abcd"], Literal[0], Literal[1]]) |
| 248 | + d = eval_typing(Slice[Literal["abcd"], Literal[0], Literal[1]]) |
249 | 249 | assert d == Literal["a"] |
250 | 250 |
|
251 | 251 |
|
252 | 252 | def test_type_strings_6(): |
253 | | - d = eval_typing(StrSlice[Literal["abcd"], Literal[1], Literal[None]]) |
| 253 | + d = eval_typing(Slice[Literal["abcd"], Literal[1], Literal[None]]) |
254 | 254 | assert d == Literal["bcd"] |
255 | 255 |
|
256 | 256 |
|
@@ -1492,6 +1492,43 @@ def test_eval_length_01(): |
1492 | 1492 | assert d == Literal[None] |
1493 | 1493 |
|
1494 | 1494 |
|
| 1495 | +def test_eval_slice_01(): |
| 1496 | + t = tuple[Literal[0], Literal[1], Literal[2], Literal[3], Literal[4]] |
| 1497 | + d = eval_typing(Slice[t, Literal[1], Literal[3]]) |
| 1498 | + assert d == tuple[Literal[1], Literal[2]] |
| 1499 | + d = eval_typing(Slice[t, Literal[1], Literal[None]]) |
| 1500 | + assert d == tuple[Literal[1], Literal[2], Literal[3], Literal[4]] |
| 1501 | + d = eval_typing(Slice[t, Literal[None], Literal[3]]) |
| 1502 | + assert d == tuple[Literal[0], Literal[1], Literal[2]] |
| 1503 | + d = eval_typing(Slice[t, Literal[None], Literal[None]]) |
| 1504 | + assert ( |
| 1505 | + d == tuple[Literal[0], Literal[1], Literal[2], Literal[3], Literal[4]] |
| 1506 | + ) |
| 1507 | + d = eval_typing(Slice[t, Literal[1], Literal[1]]) |
| 1508 | + assert d == tuple[()] |
| 1509 | + |
| 1510 | + |
| 1511 | +def test_eval_slice_02(): |
| 1512 | + t = Literal["abcde"] |
| 1513 | + d = eval_typing(Slice[t, Literal[1], Literal[3]]) |
| 1514 | + assert d == Literal["bc"] |
| 1515 | + d = eval_typing(Slice[t, Literal[1], Literal[None]]) |
| 1516 | + assert d == Literal["bcde"] |
| 1517 | + d = eval_typing(Slice[t, Literal[None], Literal[3]]) |
| 1518 | + assert d == Literal["abc"] |
| 1519 | + d = eval_typing(Slice[t, Literal[None], Literal[None]]) |
| 1520 | + assert d == Literal["abcde"] |
| 1521 | + d = eval_typing(Slice[t, Literal[1], Literal[1]]) |
| 1522 | + assert d == Literal[""] |
| 1523 | + |
| 1524 | + |
| 1525 | +def test_eval_slice_03(): |
| 1526 | + d = eval_typing(Slice[int, Literal[1], Literal[2]]) |
| 1527 | + assert d == Never |
| 1528 | + d = eval_typing(Slice[dict[int, str], Literal[1], Literal[2]]) |
| 1529 | + assert d == Never |
| 1530 | + |
| 1531 | + |
1495 | 1532 | def test_eval_literal_idempotent_01(): |
1496 | 1533 | t = Literal[int] |
1497 | 1534 | for _ in range(5): |
|
0 commit comments