fix corner cases related to in (#3964)

This commit is contained in:
Alex Lam S.L
2020-06-07 22:23:23 +01:00
committed by GitHub
parent 28b7b15da1
commit df3bb8028a
7 changed files with 106 additions and 11 deletions

View File

@@ -8164,3 +8164,34 @@ issue_3927: {
}
expect_stdout: "PASS"
}
operator_in: {
options = {
collapse_vars: true,
}
input: {
function log(msg) {
console.log(msg);
}
var a = "FAIL";
try {
a = "PASS";
0 in null;
log("FAIL", a);
} catch (e) {}
log(a);
}
expect: {
function log(msg) {
console.log(msg);
}
var a = "FAIL";
try {
a = "PASS";
0 in null;
log("FAIL", a);
} catch (e) {}
log(a);
}
expect_stdout: "PASS"
}

View File

@@ -136,7 +136,7 @@ relational: {
side_effects :true,
}
input: {
foo() in foo();
foo() in new foo();
foo() instanceof bar();
foo() < "bar";
bar() > foo();

View File

@@ -274,3 +274,26 @@ drop_value: {
foo(), bar();
}
}
operator_in: {
options = {
side_effects: true,
}
input: {
try {
"foo" in true;
console.log("FAIL");
} catch (e) {
console.log("PASS");
}
}
expect: {
try {
0 in true;
console.log("FAIL");
} catch (e) {
console.log("PASS");
}
}
expect_stdout: "PASS"
}