Merge branch 'master' into harmony-v3.0.23

This commit is contained in:
alexlamsl
2017-07-02 17:47:21 +08:00
8 changed files with 182 additions and 96 deletions

View File

@@ -287,6 +287,7 @@ issue_2105_1: {
collapse_vars: true,
ecma: 6,
inline: true,
passes: 3,
reduce_vars: true,
side_effects: true,
unused: true,
@@ -312,7 +313,7 @@ issue_2105_1: {
});
}
expect: {
void (() => {
(() => {
var quux = () => {
console.log("PASS");
};
@@ -332,6 +333,7 @@ issue_2105_2: {
options = {
collapse_vars: true,
inline: true,
passes: 2,
reduce_vars: true,
side_effects: true,
unused: true,
@@ -357,7 +359,7 @@ issue_2105_2: {
});
}
expect: {
void (() => {
(() => {
var quux = () => {
console.log("PASS");
};
@@ -372,7 +374,7 @@ issue_2105_2: {
expect_stdout: "PASS"
node_version: ">=6"
}
/*
issue_2136_2: {
options = {
arrows: true,
@@ -428,7 +430,7 @@ issue_2136_3: {
expect_stdout: "2"
node_version: ">=6"
}
*/
call_args: {
options = {
arrows: true,

View File

@@ -2077,10 +2077,10 @@ chained_3: {
}
expect: {
console.log(function(a, b) {
var c = a, c = b;
var c = 1, c = b;
b++;
return c;
}(1, 2));
}(0, 2));
}
expect_stdout: "2"
}
@@ -2330,3 +2330,73 @@ reassign_const_2: {
}
expect_stdout: true
}
issue_2187_1: {
options = {
collapse_vars: true,
unused: true,
}
input: {
var a = 1;
!function(foo) {
foo();
var a = 2;
console.log(a);
}(function() {
console.log(a);
});
}
expect: {
var a = 1;
!function(foo) {
foo();
var a = 2;
console.log(a);
}(function() {
console.log(a);
});
}
expect_stdout: [
"1",
"2",
]
}
issue_2187_2: {
options = {
collapse_vars: true,
unused: true,
}
input: {
var b = 1;
console.log(function(a) {
return a && ++b;
}(b--));
}
expect: {
var b = 1;
console.log(function(a) {
return b-- && ++b;
}());
}
expect_stdout: "1"
}
issue_2187_3: {
options = {
collapse_vars: true,
inline: true,
unused: true,
}
input: {
var b = 1;
console.log(function(a) {
return a && ++b;
}(b--));
}
expect: {
var b = 1;
console.log(b-- && ++b);
}
expect_stdout: "1"
}

View File

@@ -1299,6 +1299,7 @@ issue_2105: {
options = {
collapse_vars: true,
inline: true,
passes: 3,
reduce_vars: true,
side_effects: true,
unused: true,
@@ -1324,7 +1325,7 @@ issue_2105: {
});
}
expect: {
!void function() {
(function() {
var quux = function() {
console.log("PASS");
};
@@ -1334,7 +1335,7 @@ issue_2105: {
quux();
}
};
}().prop();
})().prop();
}
expect_stdout: "PASS"
}
@@ -1357,7 +1358,7 @@ issue_2136_1: {
expect_stdout: "[]"
node_version: ">=6"
}
/*
issue_2136_2: {
options = {
collapse_vars: true,
@@ -1409,7 +1410,7 @@ issue_2136_3: {
expect_stdout: "2"
node_version: ">=6"
}
*/
issue_2163: {
options = {
pure_funcs: [ "pure" ],

View File

@@ -468,11 +468,9 @@ issue_2114_1: {
}
expect: {
var c = 0;
!function() {
0;
}((c += 1, c = 1 + c, function() {
c = 1 + (c += 1), function() {
var b = void (b && (b.b += (c += 1, 0)));
}()));
}();
console.log(c);
}
expect_stdout: "2"

View File

@@ -419,7 +419,7 @@ wrap_iife_in_return_call: {
expect_exact: '(void console.log("test"))();'
}
pure_annotation: {
pure_annotation_1: {
options = {
inline: true,
side_effects: true,
@@ -432,6 +432,20 @@ pure_annotation: {
expect_exact: ""
}
pure_annotation_2: {
options = {
collapse_vars: true,
inline: true,
side_effects: true,
}
input: {
/*@__PURE__*/(function(n) {
console.log("hello", n);
}(42));
}
expect_exact: ""
}
drop_fargs: {
options = {
cascade: true,
@@ -449,9 +463,7 @@ drop_fargs: {
}
expect: {
var a = 1;
!function() {
a++;
}(++a && a.var);
++a && a.var, a++;
console.log(a);
}
expect_stdout: "3"
@@ -474,9 +486,7 @@ keep_fargs: {
}
expect: {
var a = 1;
!function(a_1) {
a++;
}(++a && a.var);
++a && a.var, a++;
console.log(a);
}
expect_stdout: "3"