aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/compress/functions.js31
-rw-r--r--test/compress/merge_vars.js38
2 files changed, 69 insertions, 0 deletions
diff --git a/test/compress/functions.js b/test/compress/functions.js
index 3027d59e..1be01167 100644
--- a/test/compress/functions.js
+++ b/test/compress/functions.js
@@ -4777,3 +4777,34 @@ issue_4006: {
}
expect_stdout: "-1"
}
+
+issue_4155: {
+ options = {
+ functions: true,
+ inline: true,
+ merge_vars: true,
+ reduce_vars: true,
+ unused: true,
+ }
+ input: {
+ (function() {
+ var a;
+ (function() {
+ console.log(a);
+ })(a);
+ var b = function() {};
+ b && console.log(typeof b);
+ })();
+ }
+ expect: {
+ (function() {
+ void console.log(b);
+ var b = function() {};
+ b && console.log(typeof b);
+ })();
+ }
+ expect_stdout: [
+ "undefined",
+ "function",
+ ]
+}
diff --git a/test/compress/merge_vars.js b/test/compress/merge_vars.js
index b86b0e99..7eb3f13c 100644
--- a/test/compress/merge_vars.js
+++ b/test/compress/merge_vars.js
@@ -2822,3 +2822,41 @@ conditional_write: {
}
expect_stdout: "PASS,42"
}
+
+issue_4155: {
+ options = {
+ inline: true,
+ merge_vars: true,
+ }
+ input: {
+ (function() {
+ try {
+ throw "PASS";
+ } catch (e) {
+ var a;
+ (function() {
+ console.log(e, a);
+ })(a = NaN);
+ }
+ var e = function() {};
+ e && console.log(typeof e);
+ })();
+ }
+ expect: {
+ (function() {
+ try {
+ throw "PASS";
+ } catch (e) {
+ var a;
+ a = NaN,
+ void console.log(e, a);
+ }
+ var e = function() {};
+ e && console.log(typeof e);
+ })();
+ }
+ expect_stdout: [
+ "PASS NaN",
+ "function",
+ ]
+}