| Index: test/mjsunit/regress/regress-2437.js
|
| diff --git a/test/mjsunit/regress/regress-2437.js b/test/mjsunit/regress/regress-2437.js
|
| index 66f0abfef582503751c6ad0164de26fc295aa8a9..d11307948c411018b76ac847e0a3e4bc2cb10100 100644
|
| --- a/test/mjsunit/regress/regress-2437.js
|
| +++ b/test/mjsunit/regress/regress-2437.js
|
| @@ -55,31 +55,31 @@ assertEquals(1, r.lastIndex);
|
| r = /a/;
|
| r.lastIndex = 1;
|
| "zzzz".replace(r, "");
|
| -assertEquals(0, r.lastIndex);
|
| +assertEquals(1, r.lastIndex);
|
|
|
| // Test String.prototype.replace with non-atomic regexp and empty string.
|
| r = /\d/;
|
| r.lastIndex = 1;
|
| "zzzz".replace(r, "");
|
| -assertEquals(0, r.lastIndex);
|
| +assertEquals(1, r.lastIndex);
|
|
|
| // Test String.prototype.replace with atomic regexp and non-empty string.
|
| r = /a/;
|
| r.lastIndex = 1;
|
| "zzzz".replace(r, "a");
|
| -assertEquals(0, r.lastIndex);
|
| +assertEquals(1, r.lastIndex);
|
|
|
| // Test String.prototype.replace with non-atomic regexp and non-empty string.
|
| r = /\d/;
|
| r.lastIndex = 1;
|
| "zzzz".replace(r, "a");
|
| -assertEquals(0, r.lastIndex);
|
| +assertEquals(1, r.lastIndex);
|
|
|
| // Test String.prototype.replace with replacement function
|
| r = /a/;
|
| r.lastIndex = 1;
|
| "zzzz".replace(r, function() { return ""; });
|
| -assertEquals(0, r.lastIndex);
|
| +assertEquals(1, r.lastIndex);
|
|
|
| // Regexp functions that returns multiple results:
|
| // A global regexp always resets lastIndex regardless of whether it matches.
|
| @@ -100,7 +100,7 @@ r.lastIndex = -1;
|
| "01234567".match(r);
|
| assertEquals(0, r.lastIndex);
|
|
|
| -// A non-global regexp resets lastIndex iff it does not match.
|
| +// A non-global regexp resets lastIndex iff it is sticky.
|
| r = /a/;
|
| r.lastIndex = -1;
|
| "0123abcd".replace(r, "x");
|
| @@ -108,7 +108,7 @@ assertEquals(-1, r.lastIndex);
|
|
|
| r.lastIndex = -1;
|
| "01234567".replace(r, "x");
|
| -assertEquals(0, r.lastIndex);
|
| +assertEquals(-1, r.lastIndex);
|
|
|
| r.lastIndex = -1;
|
| "0123abcd".match(r);
|
| @@ -118,6 +118,16 @@ r.lastIndex = -1;
|
| "01234567".match(r);
|
| assertEquals(-1, r.lastIndex);
|
|
|
| +r = /a/y;
|
| +r.lastIndex = -1;
|
| +"0123abcd".replace(r, "x");
|
| +assertEquals(0, r.lastIndex);
|
| +
|
| +r.lastIndex = -1;
|
| +"01234567".replace(r, "x");
|
| +assertEquals(0, r.lastIndex);
|
| +
|
| +
|
| // Also test RegExp.prototype.exec and RegExp.prototype.test
|
| r = /a/g;
|
| r.lastIndex = 1;
|
|
|