Fix #836
This commit is contained in:
@@ -1352,6 +1352,12 @@ function OutputStream(options) {
|
|||||||
DEFMAP(AST_Finally, basic_sourcemap_gen);
|
DEFMAP(AST_Finally, basic_sourcemap_gen);
|
||||||
DEFMAP(AST_Definitions, basic_sourcemap_gen);
|
DEFMAP(AST_Definitions, basic_sourcemap_gen);
|
||||||
DEFMAP(AST_Constant, basic_sourcemap_gen);
|
DEFMAP(AST_Constant, basic_sourcemap_gen);
|
||||||
|
DEFMAP(AST_ObjectSetter, function(self, output){
|
||||||
|
output.add_mapping(self.start, self.key.name);
|
||||||
|
});
|
||||||
|
DEFMAP(AST_ObjectGetter, function(self, output){
|
||||||
|
output.add_mapping(self.start, self.key.name);
|
||||||
|
});
|
||||||
DEFMAP(AST_ObjectProperty, function(self, output){
|
DEFMAP(AST_ObjectProperty, function(self, output){
|
||||||
output.add_mapping(self.start, self.key);
|
output.add_mapping(self.start, self.key);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -17,6 +17,9 @@ if (failures) {
|
|||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var run_sourcemaps_tests = require('./sourcemaps');
|
||||||
|
run_sourcemaps_tests();
|
||||||
|
|
||||||
var run_ast_conversion_tests = require("./mozilla-ast");
|
var run_ast_conversion_tests = require("./mozilla-ast");
|
||||||
|
|
||||||
run_ast_conversion_tests({
|
run_ast_conversion_tests({
|
||||||
|
|||||||
40
test/sourcemaps.js
Normal file
40
test/sourcemaps.js
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
var UglifyJS = require("..");
|
||||||
|
var ok = require("assert");
|
||||||
|
|
||||||
|
module.exports = function () {
|
||||||
|
console.log("--- Sourcemaps tests");
|
||||||
|
|
||||||
|
var basic = source_map([
|
||||||
|
'var x = 1 + 1;'
|
||||||
|
].join('\n'));
|
||||||
|
|
||||||
|
ok.equal(basic.version, 3);
|
||||||
|
ok.deepEqual(basic.names, ['x']);
|
||||||
|
|
||||||
|
var issue836 = source_map([
|
||||||
|
"({",
|
||||||
|
" get enabled() {",
|
||||||
|
" return 3;",
|
||||||
|
" },",
|
||||||
|
" set enabled(x) {",
|
||||||
|
" ;",
|
||||||
|
" }",
|
||||||
|
"});",
|
||||||
|
].join("\n"));
|
||||||
|
|
||||||
|
ok.deepEqual(issue836.names, ['enabled', 'x']);
|
||||||
|
}
|
||||||
|
|
||||||
|
function source_map(js) {
|
||||||
|
var source_map = UglifyJS.SourceMap();
|
||||||
|
var stream = UglifyJS.OutputStream({ source_map: source_map });
|
||||||
|
var parsed = UglifyJS.parse(js);
|
||||||
|
parsed.print(stream);
|
||||||
|
return JSON.parse(source_map.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Run standalone
|
||||||
|
if (module.parent === null) {
|
||||||
|
module.exports();
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user