improve sandbox fidelity (#3415)
This commit is contained in:
@@ -6178,3 +6178,22 @@ assign_undeclared: {
|
||||
"object",
|
||||
]
|
||||
}
|
||||
|
||||
Infinity_assignment: {
|
||||
options = {
|
||||
collapse_vars: true,
|
||||
pure_getters: "strict",
|
||||
unsafe: true,
|
||||
}
|
||||
input: {
|
||||
var Infinity;
|
||||
Infinity = 42;
|
||||
console.log(Infinity);
|
||||
}
|
||||
expect: {
|
||||
var Infinity;
|
||||
Infinity = 42;
|
||||
console.log(Infinity);
|
||||
}
|
||||
expect_stdout: true
|
||||
}
|
||||
|
||||
@@ -366,7 +366,7 @@ mangle_catch_redef_3: {
|
||||
console.log(o);
|
||||
}
|
||||
expect_exact: 'var o="PASS";try{throw 0}catch(o){(function(){function c(){o="FAIL"}c(),c()})()}console.log(o);'
|
||||
expect_stdout: "PASS"
|
||||
expect_stdout: true
|
||||
}
|
||||
|
||||
mangle_catch_redef_3_toplevel: {
|
||||
@@ -389,10 +389,10 @@ mangle_catch_redef_3_toplevel: {
|
||||
console.log(o);
|
||||
}
|
||||
expect_exact: 'var c="PASS";try{throw 0}catch(c){(function(){function o(){c="FAIL"}o(),o()})()}console.log(c);'
|
||||
expect_stdout: "PASS"
|
||||
expect_stdout: true
|
||||
}
|
||||
|
||||
mangle_catch_redef_ie8_3: {
|
||||
mangle_catch_redef_3_ie8: {
|
||||
mangle = {
|
||||
ie8: true,
|
||||
toplevel: false,
|
||||
@@ -412,7 +412,7 @@ mangle_catch_redef_ie8_3: {
|
||||
console.log(o);
|
||||
}
|
||||
expect_exact: 'var o="PASS";try{throw 0}catch(o){(function(){function c(){o="FAIL"}c(),c()})()}console.log(o);'
|
||||
expect_stdout: "PASS"
|
||||
expect_stdout: true
|
||||
}
|
||||
|
||||
mangle_catch_redef_3_ie8_toplevel: {
|
||||
@@ -435,5 +435,5 @@ mangle_catch_redef_3_ie8_toplevel: {
|
||||
console.log(o);
|
||||
}
|
||||
expect_exact: 'var c="PASS";try{throw 0}catch(c){(function(){function o(){c="FAIL"}o(),o()})()}console.log(c);'
|
||||
expect_stdout: "PASS"
|
||||
expect_stdout: true
|
||||
}
|
||||
|
||||
@@ -12,3 +12,57 @@ console_log: {
|
||||
"% %s",
|
||||
]
|
||||
}
|
||||
|
||||
typeof_arguments: {
|
||||
options = {
|
||||
evaluate: true,
|
||||
reduce_vars: true,
|
||||
toplevel: true,
|
||||
unused: true,
|
||||
}
|
||||
input: {
|
||||
var arguments;
|
||||
console.log((typeof arguments).length);
|
||||
}
|
||||
expect: {
|
||||
var arguments;
|
||||
console.log((typeof arguments).length);
|
||||
}
|
||||
expect_stdout: "6"
|
||||
}
|
||||
|
||||
typeof_arguments_assigned: {
|
||||
options = {
|
||||
evaluate: true,
|
||||
reduce_vars: true,
|
||||
toplevel: true,
|
||||
unused: true,
|
||||
}
|
||||
input: {
|
||||
var arguments = void 0;
|
||||
console.log((typeof arguments).length);
|
||||
}
|
||||
expect: {
|
||||
console.log("undefined".length);
|
||||
}
|
||||
expect_stdout: "9"
|
||||
}
|
||||
|
||||
toplevel_Infinity_NaN_undefined: {
|
||||
options = {
|
||||
evaluate: true,
|
||||
reduce_vars: true,
|
||||
toplevel: true,
|
||||
unused: true,
|
||||
}
|
||||
input: {
|
||||
var Infinity = "foo";
|
||||
var NaN = 42;
|
||||
var undefined = null;
|
||||
console.log(Infinity, NaN, undefined);
|
||||
}
|
||||
expect: {
|
||||
console.log("foo", 42, null);
|
||||
}
|
||||
expect_stdout: "foo 42 null"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user