/* * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/licenses/publicdomain/ * * Author: Geoffrey Sneddon */ var BUGNUMBER = 646490; var summary = "RegExp.prototype.exec doesn't get the lastIndex and ToInteger() it for " + "non-global regular expressions when it should"; print(BUGNUMBER + ": " + summary); /************** * BEGIN TEST * **************/ var re = /./, called = 0; re.lastIndex = {valueOf: function() { called++; return 0; }}; re.exec("."); re.lastIndex = {toString: function() { called++; return "0"; }}; re.exec("."); re.lastIndex = { valueOf: function() { called++; return 0; }, toString: function() { called--; } }; re.exec("."); assertEq(called, 3, "FAIL, got " + called); /******************************************************************************/ if (typeof reportCompare === "function") reportCompare(true, true); print("All tests passed!");