js/src/tests/ecma_5/String/replace-updates-global-lastIndex.js

Thu, 15 Jan 2015 15:55:04 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:55:04 +0100
branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
permissions
-rw-r--r--

Back out 97036ab72558 which inappropriately compared turds to third parties.

     1 /*
     2  * Any copyright is dedicated to the Public Domain.
     3  * http://creativecommons.org/licenses/publicdomain/
     4  */
     6 var BUGNUMBER = 501739;
     7 var summary =
     8   "String.prototype.relace should zero the .lastIndex when called with a " +
     9   "global RegExp";
    11 print(BUGNUMBER + ": " + summary);
    13 /**************
    14  * BEGIN TEST *
    15  **************/
    17 var s = '0x2x4x6x8';
    19 var p1 = /x/g;
    20 p1.lastIndex = 3;
    21 s.replace(p1, '');
    22 assertEq(p1.lastIndex, 0);
    24 var p2 = /x/g;
    25 p2.lastIndex = 3;
    26 var c = 0;
    27 s.replace(p2, function(s) {
    28     assertEq(p2.lastIndex++, c++);
    29     return 'y';
    30 });
    31 assertEq(p2.lastIndex, 4);
    33 /******************************************************************************/
    35 if (typeof reportCompare === "function")
    36   reportCompare(true, true);
    38 print("Tests complete");

mercurial