suppress false positives in ufuzz (#5647)
This commit is contained in:
@@ -449,6 +449,27 @@ describe("test/reduce.js", function() {
|
||||
].join("\n"));
|
||||
});
|
||||
it("Should transform `export default function` correctly", function() {
|
||||
if (semver.satisfies(process.version, "<8")) return;
|
||||
var code = [
|
||||
"export default function f(a) {",
|
||||
" for (var k in a)",
|
||||
" console.log(k);",
|
||||
" (async function() {})();",
|
||||
"}",
|
||||
"f(this);",
|
||||
].join("\n");
|
||||
var result = reduce_test(code, {
|
||||
mangle: false,
|
||||
});
|
||||
if (result.error) throw result.error;
|
||||
assert.strictEqual(result.code, [
|
||||
"// Can't reproduce test failure",
|
||||
"// minify options: {",
|
||||
'// "mangle": false',
|
||||
"// }",
|
||||
].join("\n"));
|
||||
});
|
||||
it("Should transform `export default (function)` correctly", function() {
|
||||
var code = [
|
||||
"for (var k in this)",
|
||||
" console.log(k);",
|
||||
|
||||
@@ -57,7 +57,7 @@ exports.patch_module_statements = function(code) {
|
||||
strict_mode = match;
|
||||
return "";
|
||||
}).replace(/\bexport(?:\s*\{[^{}]*}\s*?(?:$|\n|;)|\s+default\b(?:\s*(\(|\{|class\s*\{|class\s+(?=extends\b)|(?:async\s+)?function\s*(?:\*\s*)?\())?|\b)/g, function(match, header) {
|
||||
if (/^export\s+default/.test(match)) has_default = "var _uglify_export_default_;";
|
||||
if (/^export\s+default/.test(match)) has_default = "function _uglify_export_default_() {}";
|
||||
if (!header) return "";
|
||||
if (header.length == 1) return "0, " + header;
|
||||
var name = "_uglify_export_default_";
|
||||
|
||||
Reference in New Issue
Block a user