aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlex Lam S.L <alexlamsl@gmail.com>2021-05-19 22:11:39 +0100
committerGitHub <noreply@github.com>2021-05-20 05:11:39 +0800
commitd6152e6a76908223cace651898e12a3b3c9a445d (patch)
treee208e034823e2fb26aada3949db6a3cd321c88dd /test
parentd930c705f6064448c7e6cba8e0e9e8d46d5e3762 (diff)
downloadtracifyjs-d6152e6a76908223cace651898e12a3b3c9a445d.tar.gz
tracifyjs-d6152e6a76908223cace651898e12a3b3c9a445d.zip
fix corner case in `collapse_vars` (#4946)
Diffstat (limited to 'test')
-rw-r--r--test/compress/collapse_vars.js34
-rw-r--r--test/reduce.js2
2 files changed, 35 insertions, 1 deletions
diff --git a/test/compress/collapse_vars.js b/test/compress/collapse_vars.js
index 83eccdf1..d2f27299 100644
--- a/test/compress/collapse_vars.js
+++ b/test/compress/collapse_vars.js
@@ -9245,3 +9245,37 @@ issue_4935: {
}
expect_stdout: "1 0"
}
+
+inline_throw: {
+ options = {
+ collapse_vars: true,
+ inline: true,
+ keep_fargs: false,
+ unused: true,
+ }
+ input: {
+ try {
+ (function() {
+ return function(a) {
+ return function(b) {
+ throw b;
+ }(a);
+ };
+ })()("PASS");
+ } catch (e) {
+ console.log(e);
+ }
+ }
+ expect: {
+ try {
+ (function(a) {
+ return function() {
+ throw a;
+ }();
+ })("PASS");
+ } catch (e) {
+ console.log(e);
+ }
+ }
+ expect_stdout: "PASS"
+}
diff --git a/test/reduce.js b/test/reduce.js
index 3f154fa7..15f869e5 100644
--- a/test/reduce.js
+++ b/test/reduce.js
@@ -46,7 +46,7 @@ module.exports = function reduce_test(testcase, minify_options, reduce_options)
if (verbose) {
log("// Node.js " + process.version + " on " + os.platform() + " " + os.arch());
}
- if (differs.error && [ "DefaultsError", "SyntaxError" ].indexOf(differs.error.name) < 0) {
+ if (differs && differs.error && [ "DefaultsError", "SyntaxError" ].indexOf(differs.error.name) < 0) {
test_for_diff = test_minify;
differs = test_for_diff(testcase, minify_options, result_cache, max_timeout);
}