introduce spread (#4346)

fixes #4345
This commit is contained in:
Alex Lam S.L
2020-12-07 22:51:20 +00:00
committed by GitHub
parent 336336f53f
commit c587d7917d
4 changed files with 95 additions and 48 deletions

View File

@@ -45,8 +45,8 @@ duplicate_key_strict: {
"use strict";
var o = {
a: 1,
b: 2,
a: 3,
b: 2,
};
for (var k in o)
console.log(k, o[k]);
@@ -323,8 +323,8 @@ issue_4269_3: {
}
expect: {
console.log({
["foo"]: "bar",
get 42() {
foo: "bar",
get [42]() {
return "FAIL";
},
42: "PASS",
@@ -353,8 +353,8 @@ issue_4269_4: {
get 42() {
return "FAIL";
},
["foo"]: "bar",
42: "PASS",
foo: "bar",
[42]: "PASS",
}[42]);
}
expect_stdout: "PASS"

View File

@@ -105,8 +105,8 @@ dont_inline: {
do_inline: {
options = {
properties: true,
inline: true,
spread: true,
}
input: {
console.log(function(a) {
@@ -144,8 +144,8 @@ drop_empty_call_1: {
drop_empty_call_2: {
options = {
properties: true,
side_effects: true,
spread: true,
}
input: {
(function() {})(...[ console.log("PASS") ]);
@@ -159,7 +159,7 @@ drop_empty_call_2: {
convert_hole: {
options = {
properties: true,
spread: true,
}
input: {
console.log(...[ "PASS", , 42 ]);
@@ -295,7 +295,8 @@ keep_getter: {
keep_accessor: {
options = {
properties: true,
objects: true,
spread: true,
}
input: {
var o = {
@@ -372,7 +373,8 @@ unused_var_side_effects: {
issue_4329: {
options = {
properties: true,
objects: true,
spread: true,
}
input: {
console.log({
@@ -423,7 +425,7 @@ issue_4331: {
console.log(b);
}
expect_stdout: "PASS"
node_version: ">=8"
node_version: ">=6"
}
issue_4342: {
@@ -447,3 +449,33 @@ issue_4342: {
expect_stdout: "PASS"
node_version: ">=6"
}
issue_4345: {
options = {
objects: true,
spread: true,
}
input: {
console.log({
...{
get 42() {
return "FAIL";
},
...{},
42: "PASS",
},
}[42]);
}
expect: {
console.log({
...{
get 42() {
return "FAIL";
},
[42]: "PASS",
},
}[42]);
}
expect_stdout: "PASS"
node_version: ">=8"
}