Skip to content

Commit 979ee73

Browse files
committed
add more tests
1 parent b2524ab commit 979ee73

2 files changed

Lines changed: 41 additions & 2 deletions

File tree

mypyc/test-data/irbuild-constant-fold.test

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,14 @@ def neg_index() -> None:
490490
a = long_string[-5]
491491
def slice_index() -> None:
492492
a = long_string[5:]
493+
def full_slice() -> None:
494+
a = long_string[:]
495+
def prefix_slice() -> None:
496+
a = long_string[:5]
497+
def mid_slice() -> None:
498+
a = long_string[3:5]
499+
def negative_slice() -> None:
500+
a = long_string[-6:-1]
493501
[out]
494502
def pos_index():
495503
r0, a :: str
@@ -509,3 +517,27 @@ L0:
509517
r0 = 'string'
510518
a = r0
511519
return 1
520+
def full_slice():
521+
r0, a :: str
522+
L0:
523+
r0 = 'long string'
524+
a = r0
525+
return 1
526+
def prefix_slice():
527+
r0, a :: str
528+
L0:
529+
r0 = 'long '
530+
a = r0
531+
return 1
532+
def mid_slice():
533+
r0, a :: str
534+
L0:
535+
r0 = 'g '
536+
a = r0
537+
return 1
538+
def negative_slice():
539+
r0, a :: str
540+
L0:
541+
r0 = 'strin'
542+
a = r0
543+
return 1

mypyc/test-data/run-strings.test

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,14 @@ final_string: Final = "abc"
230230
final_int: Final = 1
231231

232232
def getitem_folded() -> str:
233-
return final_string[final_int] + final_string[-1]
233+
return (
234+
final_string[final_int]
235+
+ final_string[-1]
236+
+ final_string[:]
237+
+ final_string[:2]
238+
+ final_string[1:3]
239+
+ final_string[-3:-1]
240+
)
234241

235242
def find(s: str, substr: str, start: Optional[int] = None, end: Optional[int] = None) -> int:
236243
if start is not None:
@@ -269,7 +276,7 @@ def test_getitem() -> None:
269276
getitem(s, 4)
270277
with assertRaises(IndexError, "string index out of range"):
271278
getitem(s, -4)
272-
assert getitem_folded() == "bc"
279+
assert getitem_folded() == "bcabcabcbab"
273280

274281
def test_find() -> None:
275282
s = "abcab"

0 commit comments

Comments
 (0)