--- /dev/null
+(function f(a) {
+ do {
+ console.log(f.length);
+ } while (console.log(f += 0));
+})();
--- /dev/null
+// (beautified)
+(function f(a) {
+ do {
+ console.log(f.length);
+ } while (console.log(f += 0));
+})();
+// output: 1
+// function(){}0
+//
+// minify: 0
+// function(){}0
+//
+// options: {
+// "compress": {
+// "keep_fargs": false,
+// "unsafe": true
+// },
+// "mangle": false
+// }
\ No newline at end of file
"// }",
]).join("\n"));
});
+ it("Should handle corner cases when intermediate case differs only in Error.message", function() {
+ if (semver.satisfies(process.version, "<=0.10")) return;
+ var result = reduce_test(read("test/input/reduce/diff_error.js"), {
+ compress: {
+ keep_fargs: false,
+ unsafe: true,
+ },
+ mangle: false,
+ }, {
+ verbose: false,
+ });
+ if (result.error) throw result.error;
+ assert.strictEqual(result.code, read("test/input/reduce/diff_error.reduced.js"));
+ });
});
}
}));
var code = testcase_ast.print_to_string();
- if (diff = test_for_diff(code, minify_options, result_cache, max_timeout)) {
+ var diff = test_for_diff(code, minify_options, result_cache, max_timeout);
+ if (diff && !diff.timed_out && !diff.error) {
testcase = code;
differs = diff;
} else {