fix keyword shorthand property output for ecma >= 6 (#2493)
fixes #2491
This commit is contained in:
@@ -1624,7 +1624,8 @@ function OutputStream(options) {
|
|||||||
if (allowShortHand &&
|
if (allowShortHand &&
|
||||||
self.value instanceof AST_Symbol &&
|
self.value instanceof AST_Symbol &&
|
||||||
is_identifier_string(self.key) &&
|
is_identifier_string(self.key) &&
|
||||||
get_name(self.value) === self.key
|
get_name(self.value) === self.key &&
|
||||||
|
is_identifier(self.key)
|
||||||
) {
|
) {
|
||||||
print_property_name(self.key, self.quote, output);
|
print_property_name(self.key, self.quote, output);
|
||||||
|
|
||||||
|
|||||||
@@ -937,3 +937,41 @@ issue_2349b: {
|
|||||||
]
|
]
|
||||||
node_version: ">=7"
|
node_version: ">=7"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
shorthand_keywords: {
|
||||||
|
beautify = {
|
||||||
|
ecma: 6,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
var foo = 0,
|
||||||
|
async = 1,
|
||||||
|
await = 2,
|
||||||
|
implements = 3,
|
||||||
|
package = 4,
|
||||||
|
private = 5,
|
||||||
|
protected = 6,
|
||||||
|
static = 7,
|
||||||
|
yield = 8;
|
||||||
|
console.log({
|
||||||
|
foo: foo,
|
||||||
|
0: 0,
|
||||||
|
NaN: NaN,
|
||||||
|
async: async,
|
||||||
|
await: await,
|
||||||
|
false: false,
|
||||||
|
implements: implements,
|
||||||
|
null: null,
|
||||||
|
package: package,
|
||||||
|
private: private,
|
||||||
|
protected: protected,
|
||||||
|
static: static,
|
||||||
|
this: this,
|
||||||
|
true: true,
|
||||||
|
undefined: undefined,
|
||||||
|
yield: yield,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
expect_exact: "var foo=0,async=1,await=2,implements=3,package=4,private=5,protected=6,static=7,yield=8;console.log({foo,0:0,NaN:NaN,async,await,false:false,implements:implements,null:null,package:package,private:private,protected:protected,static:static,this:this,true:true,undefined:void 0,yield});"
|
||||||
|
expect_stdout: true
|
||||||
|
node_version: ">=4"
|
||||||
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ function read(path) {
|
|||||||
describe("bin/uglifyjs", function () {
|
describe("bin/uglifyjs", function () {
|
||||||
var uglifyjscmd = '"' + process.argv[0] + '" bin/uglifyjs';
|
var uglifyjscmd = '"' + process.argv[0] + '" bin/uglifyjs';
|
||||||
it("should produce a functional build when using --self", function (done) {
|
it("should produce a functional build when using --self", function (done) {
|
||||||
this.timeout(60000);
|
this.timeout(120000);
|
||||||
|
|
||||||
var command = uglifyjscmd + ' --self -mc ecma=';
|
var command = uglifyjscmd + ' --self -mc ecma=';
|
||||||
command += semver.satisfies(process.version, ">=4") ? "6" : "5";
|
command += semver.satisfies(process.version, ">=4") ? "6" : "5";
|
||||||
|
|||||||
Reference in New Issue
Block a user