fix corner case in ie8 & mangle (#3479)

fixes #3478
This commit is contained in:
Alex Lam S.L
2019-10-15 17:14:48 +08:00
committed by GitHub
parent 009dcdae01
commit 86a8016323
2 changed files with 259 additions and 13 deletions

View File

@@ -1321,3 +1321,243 @@ issue_3475_ie8_toplevel: {
}
expect_stdout: "PASS"
}
issue_3478_1: {
rename = true
mangle = {
ie8: false,
toplevel: false,
}
input: {
"aaaaaaaaaa";
(function f() {
(function f() {
var a;
console.log(typeof f);
})();
})();
}
expect: {
"aaaaaaaaaa";
(function a() {
(function a() {
var o;
console.log(typeof a);
})();
})();
}
expect_stdout: "function"
}
issue_3478_1_ie8: {
rename = true
mangle = {
ie8: true,
toplevel: false,
}
input: {
"aaaaaaaaaa";
(function f() {
(function f() {
var a;
console.log(typeof f);
})();
})();
}
expect: {
"aaaaaaaaaa";
(function f() {
(function f() {
var a;
console.log(typeof f);
})();
})();
}
expect_stdout: "function"
}
issue_3478_1_toplevel: {
rename = true
mangle = {
ie8: false,
toplevel: true,
}
input: {
"aaaaaaaaaa";
(function f() {
(function f() {
var a;
console.log(typeof f);
})();
})();
}
expect: {
"aaaaaaaaaa";
(function a() {
(function a() {
var o;
console.log(typeof a);
})();
})();
}
expect_stdout: "function"
}
issue_3478_1_ie8_toplevel: {
rename = true
mangle = {
ie8: true,
toplevel: true,
}
input: {
"aaaaaaaaaa";
(function f() {
(function f() {
var a;
console.log(typeof f);
})();
})();
}
expect: {
"aaaaaaaaaa";
(function o() {
(function o() {
var a;
console.log(typeof o);
})();
})();
}
expect_stdout: "function"
}
issue_3478_2: {
rename = true
mangle = {
ie8: false,
toplevel: false,
}
input: {
"bbbbbbb";
var c = "FAIL";
(function f() {
(function f() {
var b = function g() {
f && (c = "PASS");
}();
})();
})();
console.log(c);
}
expect: {
"bbbbbbb";
var c = "FAIL";
(function b() {
(function n() {
var b = function b() {
n && (c = "PASS");
}();
})();
})();
console.log(c);
}
expect_stdout: "PASS"
}
issue_3478_2_ie8: {
rename = true
mangle = {
ie8: true,
toplevel: false,
}
input: {
"bbbbbbb";
var c = "FAIL";
(function f() {
(function f() {
var b = function g() {
f && (c = "PASS");
}();
})();
})();
console.log(c);
}
expect: {
"bbbbbbb";
var c = "FAIL";
(function f() {
(function f() {
var b = function n() {
f && (c = "PASS");
}();
})();
})();
console.log(c);
}
expect_stdout: "PASS"
}
issue_3478_2_toplevel: {
rename = true
mangle = {
ie8: false,
toplevel: true,
}
input: {
"bbbbbbb";
var c = "FAIL";
(function f() {
(function f() {
var b = function g() {
f && (c = "PASS");
}();
})();
})();
console.log(c);
}
expect: {
"bbbbbbb";
var o = "FAIL";
(function b() {
(function n() {
var b = function b() {
n && (o = "PASS");
}();
})();
})();
console.log(o);
}
expect_stdout: "PASS"
}
issue_3478_2_ie8_toplevel: {
rename = true
mangle = {
ie8: true,
toplevel: true,
}
input: {
"bbbbbbb";
var c = "FAIL";
(function f() {
(function f() {
var b = function g() {
f && (c = "PASS");
}();
})();
})();
console.log(c);
}
expect: {
"bbbbbbb";
var o = "FAIL";
(function c() {
(function c() {
var b = function n() {
c && (o = "PASS");
}();
})();
})();
console.log(o);
}
expect_stdout: "PASS"
}