Skip to content

Commit d3af004

Browse files
authored
fix: Fix String.ReplaceAll (#1705)
1 parent 67bee5c commit d3af004

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

compiler/test/stdlib/string.test.gr

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@ assert String.replaceAll("/", "\/", "/test/test/test/") ==
238238
"\/test\/test\/test\/"
239239
assert String.replaceAll(",", "|", "test,test,test") == "test|test|test"
240240

241+
assert String.replaceAll("MeowMeow", "Meow", "MeowMeowMeowMeow") == "MeowMeow"
241242
let processBytes = b => {
242243
let ret = Array.make(Bytes.length(b), 0us)
243244
for (let mut i = 0; i < Bytes.length(b); i += 1) {

stdlib/string.gr

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,6 +1052,8 @@ provide let replaceAll =
10521052
found = true
10531053
foundCount += 1n
10541054
foundIndexes = [tagSimpleNumber(foundIndex), ...foundIndexes]
1055+
foundIndex -= patternLen - 1n
1056+
i -= patternLen - 1n
10551057
}
10561058
}
10571059
if (found) {

0 commit comments

Comments
 (0)