Fix RegExp literal parsing

JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
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-08-10 14:26:02 +02:00
parent d2ac7c320d
commit 4ee30cba5d
3 changed files with 74 additions and 24 deletions
+2
View File
@@ -37,3 +37,5 @@ assert (1 / (-1 % -1) < 0);
assert (1 / (-1 % 1) < 0);
assert (1 / (1 % -1) > 0);
assert (1 / (1 % 1) > 0);
assert (eval ("x\n\n=\n\n6\n\n/\n\n3") === 2)
+42
View File
@@ -23,3 +23,45 @@ assert ("a"+/x/+"b" == "a/x/b");
t = /\/\[[\]/]/.exec("/[/");
assert (t == "/[/");
t = /\u0000/.exec("\u0000");
assert (t == "\u0000");
try {
eval("/" + String.fromCharCode("0x0000") + "/");
} catch (e) {
assert (false);
}
try {
eval("var x = 5\n\n/foo/");
assert(false);
} catch (e) {
assert(e instanceof SyntaxError);
}
try {
eval("var x = 5;\n\n/foo/");
} catch (e) {
assert(false);
}
try {
eval("for (;false;/abc/.exec(\"abc\")) {5}");
} catch (e) {
assert(false);
}
try {
eval("var a = [] /foo/");
assert(false);
} catch (e) {
assert(e instanceof SyntaxError);
}
try {
eval("/");
assert(false);
} catch (e) {
assert(e instanceof SyntaxError);
}