Use ToNumber when checking lastIndex during RegExp exec()

JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai dbatyai.u-szeged@partner.samsung.com
This commit is contained in:
Dániel Bátyai
2015-07-28 19:09:44 +02:00
parent 048e20925e
commit fe475eace7
2 changed files with 31 additions and 4 deletions
+24
View File
@@ -150,3 +150,27 @@ assert (t == "");
t = new RegExp ("(?!.)").exec("a");
assert (t == "");
t = new RegExp ("abc","g");
t.lastIndex = {toString: function () { return "4"}};
var result = t.exec("abc abc");
assert(result[0] === "abc");
assert(result.index === 6);
t = new RegExp ("abc","g");
t.lastIndex = {valueOf: function () { return "4"}};
var result = t.exec("abc abc");
assert(result[0] === "abc");
assert(result.index === 6);
t = new RegExp ("abc","g");
t.lastIndex = "2"
var result = t.exec("abc abc");
assert(result[0] === "abc");
assert(result.index === 6);
t = new RegExp ("abc","g");
t.lastIndex = -12;
result = t.exec("abc abc");
assert(!result);
assert(t.lastIndex === 0);