summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/RegExp/replace-sticky-lastIndex.js
blob: 2500b2c42d6a2ef7dad1ec9833783731a0225142 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var BUGNUMBER = 887016;
var summary = "String.prototype.replace should do nothing if lastIndex is invalid for sticky RegExp";

print(BUGNUMBER + ": " + summary);

var re = /a/y;
re.lastIndex = -1;
assertEq("a".replace(re, "b"), "b");
re.lastIndex = 0;
assertEq("a".replace(re, "b"), "b");
re.lastIndex = 1;
assertEq("a".replace(re, "b"), "a");
re.lastIndex = 2;
assertEq("a".replace(re, "b"), "a");
re.lastIndex = "foo";
assertEq("a".replace(re, "b"), "b");
re.lastIndex = "1";
assertEq("a".replace(re, "b"), "a");
re.lastIndex = {};
assertEq("a".replace(re, "b"), "b");

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