diff options
Diffstat (limited to 'tests/custom/03_stdlib/33_replace')
-rw-r--r-- | tests/custom/03_stdlib/33_replace | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/custom/03_stdlib/33_replace b/tests/custom/03_stdlib/33_replace index b662ae8..388959f 100644 --- a/tests/custom/03_stdlib/33_replace +++ b/tests/custom/03_stdlib/33_replace @@ -205,3 +205,37 @@ In [anonymous function](), line 2, byte 40: -- End -- + + +An optional limit parameter controls the maximum amount of replacements. + +-- Testcase -- +{% + printf("%.J\n", [ + // negative limit performs no substitution + replace("aaaaa", "a", "x", -1), + + // zero limit performs no substitution + replace("aaaaa", "a", "x", 0), + + // positive limit + replace("aaaaa", "a", "x", 3), + + // same rules apply to regex replaces: + replace("foo bar baz", /[ao]/g, "x", -1), + replace("foo bar baz", /[ao]/g, "x", 0), + replace("foo bar baz", /[ao]/g, "x", 3), + ]); +%} +-- End -- + +-- Expect stdout -- +[ + "aaaaa", + "aaaaa", + "xxxaa", + "foo bar baz", + "foo bar baz", + "fxx bxr baz" +] +-- End -- |