summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/RegExp/replace-sticky.js
blob: 32a6e2aee027a827ae2925eefebb0bb6683b08df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var BUGNUMBER = 887016;
var summary = "String.prototype.replace should use and update lastIndex if sticky flag is set";

print(BUGNUMBER + ": " + summary);

var input = "abcdeabcdeabcdefghij";
var re = new RegExp("abcde", "y");
re.test(input);
assertEq(re.lastIndex, 5);
var ret = input.replace(re, "ABCDE");
assertEq(ret, "abcdeABCDEabcdefghij");
assertEq(re.lastIndex, 10);
ret = input.replace(re, "ABCDE");
assertEq(ret, "abcdeabcdeABCDEfghij");
assertEq(re.lastIndex, 15);
ret = input.replace(re, "ABCDE");
assertEq(ret, "abcdeabcdeabcdefghij");
assertEq(re.lastIndex, 0);

if (typeof reportCompare === "function")
    reportCompare(true, true);