Add a 'debug' option to mangle_properties and add a test that verifies it works as expected both with and without a cache passed as well.
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
var Uglify = require('../../');
|
|
var assert = require("assert");
|
|
|
|
describe("mangle_properties 'debug' option ", function() {
|
|
it("Should test the 'debug' option of mangle_properties works with no cache passed", function() {
|
|
var js = 'var o = {}; o.foo = "bar";';
|
|
|
|
var ast = Uglify.parse(js);
|
|
ast.figure_out_scope();
|
|
ast = Uglify.mangle_properties(ast, {
|
|
debug: true
|
|
});
|
|
|
|
let stream = Uglify.OutputStream();
|
|
ast.print(stream);
|
|
var result = stream.toString();
|
|
|
|
// Should match: var o={};o._$foo$NNN$="bar";
|
|
// where NNN is a number.
|
|
assert(/var o=\{\};o\._\$foo\$\d+\$_="bar";/.test(result));
|
|
});
|
|
|
|
it("Should test the 'debug' option of mangle_properties works with a cache passed", function() {
|
|
var js = 'var o = {}; o.foo = "bar";';
|
|
|
|
var ast = Uglify.parse(js);
|
|
ast.figure_out_scope();
|
|
ast = Uglify.mangle_properties(ast, {
|
|
cache: {
|
|
cname: -1,
|
|
props: new Uglify.Dictionary()
|
|
},
|
|
debug: true
|
|
});
|
|
|
|
let stream = Uglify.OutputStream();
|
|
ast.print(stream);
|
|
var result = stream.toString();
|
|
|
|
assert.strictEqual(result, 'var o={};o._$foo$_="bar";');
|
|
});
|
|
});
|