reserved: null,
});
- var reserved = options.reserved || [];
+ var reserved = options.reserved;
+ if (!Array.isArray(reserved)) reserved = [];
if (!options.builtins) find_builtins(reserved);
var cache = options.cache;
});
AST_Toplevel.DEFMETHOD("_default_mangler_options", function(options){
- return defaults(options, {
+ options = defaults(options, {
eval : false,
ie8 : false,
keep_fnames : false,
reserved : [],
toplevel : false,
});
+ if (!Array.isArray(options.reserved)) options.reserved = [];
+ return options;
});
AST_Toplevel.DEFMETHOD("mangle_names", function(options){
done();
});
});
+ it("Should work with --mangle reserved=[]", function (done) {
+ var command = uglifyjscmd + ' test/input/issue-505/input.js -m reserved=[callback]';
+
+ exec(command, function (err, stdout) {
+ if (err) throw err;
+
+ assert.strictEqual(stdout, 'function test(callback){"aaaaaaaaaaaaaaaa";callback(err,data);callback(err,data)}\n');
+ done();
+ });
+ });
+ it("Should work with --mangle reserved=false", function (done) {
+ var command = uglifyjscmd + ' test/input/issue-505/input.js -m reserved=false';
+
+ exec(command, function (err, stdout) {
+ if (err) throw err;
+
+ assert.strictEqual(stdout, 'function test(a){"aaaaaaaaaaaaaaaa";a(err,data);a(err,data)}\n');
+ done();
+ });
+ });
});