That particular version of Node.js has messed up error messages, so provide a version-specific workaround. Also fixed an formatting issue which would cause `expect_stdout` to fail if error message contains excerpts of input. Apply `expect_stdout` to more applicable tests.
234 lines
4.6 KiB
JavaScript
234 lines
4.6 KiB
JavaScript
do_screw: {
|
|
options = {
|
|
screw_ie8: true,
|
|
}
|
|
beautify = {
|
|
screw_ie8: true,
|
|
ascii_only: true,
|
|
}
|
|
input: {
|
|
f("\v");
|
|
}
|
|
expect_exact: 'f("\\v");'
|
|
}
|
|
|
|
dont_screw: {
|
|
options = {
|
|
screw_ie8: false,
|
|
}
|
|
beautify = {
|
|
screw_ie8: false,
|
|
ascii_only: true,
|
|
}
|
|
input: {
|
|
f("\v");
|
|
}
|
|
expect_exact: 'f("\\x0B");'
|
|
}
|
|
|
|
do_screw_constants: {
|
|
options = {
|
|
screw_ie8: true,
|
|
}
|
|
input: {
|
|
f(undefined, Infinity);
|
|
}
|
|
expect_exact: "f(void 0,1/0);"
|
|
}
|
|
|
|
dont_screw_constants: {
|
|
options = {
|
|
screw_ie8: false,
|
|
}
|
|
input: {
|
|
f(undefined, Infinity);
|
|
}
|
|
expect_exact: "f(undefined,Infinity);"
|
|
}
|
|
|
|
do_screw_try_catch: {
|
|
options = { screw_ie8: true };
|
|
mangle = { screw_ie8: true };
|
|
beautify = { screw_ie8: true };
|
|
input: {
|
|
good = function(e){
|
|
return function(error){
|
|
try{
|
|
e()
|
|
} catch(e) {
|
|
error(e)
|
|
}
|
|
}
|
|
};
|
|
}
|
|
expect: {
|
|
good = function(n){
|
|
return function(t){
|
|
try{
|
|
n()
|
|
} catch(n) {
|
|
t(n)
|
|
}
|
|
}
|
|
};
|
|
}
|
|
}
|
|
|
|
dont_screw_try_catch: {
|
|
options = { screw_ie8: false };
|
|
mangle = { screw_ie8: false };
|
|
beautify = { screw_ie8: false };
|
|
input: {
|
|
bad = function(e){
|
|
return function(error){
|
|
try{
|
|
e()
|
|
} catch(e) {
|
|
error(e)
|
|
}
|
|
}
|
|
};
|
|
}
|
|
expect: {
|
|
bad = function(n){
|
|
return function(t){
|
|
try{
|
|
n()
|
|
} catch(n) {
|
|
t(n)
|
|
}
|
|
}
|
|
};
|
|
}
|
|
}
|
|
|
|
do_screw_try_catch_undefined: {
|
|
options = { screw_ie8: true };
|
|
mangle = { screw_ie8: true };
|
|
beautify = { screw_ie8: true };
|
|
input: {
|
|
function a(b){
|
|
try {
|
|
throw 'Stuff';
|
|
} catch (undefined) {
|
|
console.log('caught: ' + undefined);
|
|
}
|
|
console.log('undefined is ' + undefined);
|
|
return b === undefined;
|
|
};
|
|
}
|
|
expect: {
|
|
function a(o){
|
|
try{
|
|
throw "Stuff"
|
|
} catch (o) {
|
|
console.log("caught: "+o)
|
|
}
|
|
console.log("undefined is " + void 0);
|
|
return void 0===o
|
|
}
|
|
}
|
|
expect_stdout: true
|
|
}
|
|
|
|
dont_screw_try_catch_undefined: {
|
|
options = { screw_ie8: false };
|
|
mangle = { screw_ie8: false };
|
|
beautify = { screw_ie8: false };
|
|
input: {
|
|
function a(b){
|
|
try {
|
|
throw 'Stuff';
|
|
} catch (undefined) {
|
|
console.log('caught: ' + undefined);
|
|
}
|
|
console.log('undefined is ' + undefined);
|
|
return b === undefined;
|
|
};
|
|
}
|
|
expect: {
|
|
function a(n){
|
|
try{
|
|
throw "Stuff"
|
|
} catch (undefined) {
|
|
console.log("caught: " + undefined)
|
|
}
|
|
console.log("undefined is " + undefined);
|
|
return n === undefined
|
|
}
|
|
}
|
|
expect_stdout: true
|
|
}
|
|
|
|
reduce_vars: {
|
|
options = {
|
|
evaluate: true,
|
|
reduce_vars: true,
|
|
screw_ie8: false,
|
|
unused: true,
|
|
}
|
|
mangle = {
|
|
screw_ie8: false,
|
|
}
|
|
input: {
|
|
function f() {
|
|
var a;
|
|
try {
|
|
x();
|
|
} catch (a) {
|
|
y();
|
|
}
|
|
alert(a);
|
|
}
|
|
}
|
|
expect: {
|
|
function f() {
|
|
var t;
|
|
try {
|
|
x();
|
|
} catch (t) {
|
|
y();
|
|
}
|
|
alert(t);
|
|
}
|
|
}
|
|
}
|
|
|
|
issue_1586_1: {
|
|
options = {
|
|
screw_ie8: false,
|
|
}
|
|
mangle = {
|
|
screw_ie8: false,
|
|
}
|
|
input: {
|
|
function f() {
|
|
try {
|
|
} catch (err) {
|
|
console.log(err.message);
|
|
}
|
|
}
|
|
}
|
|
expect_exact: "function f(){try{}catch(c){console.log(c.message)}}"
|
|
expect_stdout: true
|
|
}
|
|
|
|
issue_1586_2: {
|
|
options = {
|
|
screw_ie8: true,
|
|
}
|
|
mangle = {
|
|
screw_ie8: true,
|
|
}
|
|
input: {
|
|
function f() {
|
|
try {
|
|
} catch (err) {
|
|
console.log(err.message);
|
|
}
|
|
}
|
|
}
|
|
expect_exact: "function f(){try{}catch(c){console.log(c.message)}}"
|
|
expect_stdout: true
|
|
}
|