diff --git a/src/dstr-assignment/obj-rest-nested-obj-nested-rest.case b/src/dstr-assignment/obj-rest-nested-obj-nested-rest.case deleted file mode 100644 index f6743cb6f948ebab026cf52537dd77e3b1645625..0000000000000000000000000000000000000000 --- a/src/dstr-assignment/obj-rest-nested-obj-nested-rest.case +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -desc: > - When DestructuringAssignmentTarget is an object literal, it should be parsed - parsed as a DestructuringAssignmentPattern and evaluated as a destructuring - assignment and object rest desconstruction is allowed in that case. -template: default -esid: pending -includes: [propertyHelper.js] -features: [object-rest] ----*/ - -//- setup -var a, b, c, rest; -//- elems -{a, b, ...{c, ...rest}} -//- vals -{a: 1, b: 2, c: 3, d: 4, e: 5} -//- body -assert.sameValue(a, 1); -assert.sameValue(b, 2); -assert.sameValue(c, 3); - -assert.sameValue(rest.d, 4); -assert.sameValue(rest.e, 5); - -verifyEnumerable(rest, "d"); -verifyWritable(rest, "d"); -verifyConfigurable(rest, "d"); - -verifyEnumerable(rest, "e"); -verifyWritable(rest, "e"); -verifyConfigurable(rest, "e"); - diff --git a/src/dstr-assignment/obj-rest-nested-obj.case b/src/dstr-assignment/obj-rest-nested-obj.case deleted file mode 100644 index 3acb69150d51564529b0be60ab95f1be5689876d..0000000000000000000000000000000000000000 --- a/src/dstr-assignment/obj-rest-nested-obj.case +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -desc: > - When DestructuringAssignmentTarget is an object literal, it should be parsed - parsed as a DestructuringAssignmentPattern and evaluated as a destructuring - assignment. -template: default -esid: pending -features: [object-rest] ----*/ - -//- setup -var a, b, c, d, e; -//- elems -{a, b, ...{c, e}} -//- vals -{a: 1, b: 2, c: 3, d: 4, e: 5} -//- body -assert.sameValue(a, 1); -assert.sameValue(b, 2); -assert.sameValue(c, 3); -assert.sameValue(e, 5); -assert.sameValue(d, undefined); - diff --git a/src/dstr-assignment/obj-rest-obj-own-property.case b/src/dstr-assignment/obj-rest-obj-own-property.case deleted file mode 100644 index 6c1d109ed1dd5dbeaa81b5aa384659936885d0b2..0000000000000000000000000000000000000000 --- a/src/dstr-assignment/obj-rest-obj-own-property.case +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -desc: > - Rest object contains just source object's own properties -template: default -esid: pending -features: [object-rest] ----*/ - -//- setup -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var x, y, z; -//- elems -{ x, ...{y , z} } -//- vals -o -//- body -assert.sameValue(x, 1); -assert.sameValue(y, undefined); -assert.sameValue(z, 3); - diff --git a/src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case b/src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case deleted file mode 100644 index 8fb0bb2d119ede5699650dd88578efbee5e7ad34..0000000000000000000000000000000000000000 --- a/src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -desc: > - When DestructuringAssignmentTarget is an object literal, it should be parsed - parsed as a DestructuringAssignmentPattern and evaluated as a destructuring - assignment. -template: default -esid: pending -features: [object-rest] ----*/ - -//- setup -var obj = {a: 3, b: 4}; -//- elems -{a, b, ...{c, e}} -//- vals -{a: 1, b: 2, c: 3, d: 4, e: 5} -//- body -assert.sameValue(a, 1); -assert.sameValue(b, 2); -assert.sameValue(c, 3); -assert.sameValue(e, 5); - diff --git a/src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case b/src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case deleted file mode 100644 index a6eb8c024d4dad66bd265370f5404936c6fa054d..0000000000000000000000000000000000000000 --- a/src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -desc: > - When DestructuringAssignmentTarget is an object literal, it should be parsed - parsed as a DestructuringAssignmentPattern and evaluated as a destructuring - assignment and object rest desconstruction is allowed in that case. -template: default -esid: pending -includes: [propertyHelper.js] -features: [object-rest] ----*/ - -//- elems -{a, b, ...{c, ...rest}} -//- vals -{a: 1, b: 2, c: 3, d: 4, e: 5} -//- body -assert.sameValue(a, 1); -assert.sameValue(b, 2); -assert.sameValue(c, 3); - -assert.sameValue(rest.d, 4); -assert.sameValue(rest.e, 5); - -verifyEnumerable(rest, "d"); -verifyWritable(rest, "d"); -verifyConfigurable(rest, "d"); - -verifyEnumerable(rest, "e"); -verifyWritable(rest, "e"); -verifyConfigurable(rest, "e"); - diff --git a/src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case b/src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case deleted file mode 100644 index 71c375adc89928db1296f089c8243fd91fa7d2f0..0000000000000000000000000000000000000000 --- a/src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -desc: > - Rest object contains just soruce object's own properties -template: default -esid: pending -includes: [propertyHelper.js] -features: [object-rest] ----*/ - -//- setup -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; -//- elems -{ x, ...{y , z} } -//- vals -o -//- body -assert.sameValue(x, 1); -assert.sameValue(y, undefined); -assert.sameValue(z, 3); - diff --git a/src/spread/mult-err-obj-getter-throws.case b/src/spread/mult-err-obj-getter-throws.case deleted file mode 100644 index ff59a858f450e796c6bf39b266567eba88aa4be5..0000000000000000000000000000000000000000 --- a/src/spread/mult-err-obj-getter-throws.case +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -desc: Object Spread operator results in error when there is an getter that throws an exception -template: error -esid: pending -info: | - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). -features: [object-spread] ----*/ - -//- error -Test262Error -//- args -{a: 1, ...{ get foo() { throw new Test262Error(); } }} diff --git a/src/spread/mult-obj-base.case b/src/spread/mult-obj-base.case deleted file mode 100644 index 8c0f24439f3b86dd9a8d2d5b633350e538ec7987..0000000000000000000000000000000000000000 --- a/src/spread/mult-obj-base.case +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -desc: Object Spread operator following other arguments -template: default -esid: pending -includes: [propertyHelper.js] -info: | - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). -features: [object-spread] ----*/ - -//- args -{a: 1, b: 2, ...{c: 3, d: 4}} -//- params -obj -//- body -assert.sameValue(obj.a, 1); -assert.sameValue(obj.b, 2); -assert.sameValue(obj.c, 3); -assert.sameValue(obj.d, 4); -assert.sameValue(Object.keys(obj).length, 4); - -verifyEnumerable(obj, "c"); -verifyWritable(obj, "c"); -verifyConfigurable(obj, "c"); - -verifyEnumerable(obj, "d"); -verifyWritable(obj, "d"); -verifyConfigurable(obj, "d"); - diff --git a/src/spread/mult-obj-empty.case b/src/spread/mult-obj-empty.case deleted file mode 100644 index d7fff6587f53532f53b88ce3253eef1ddbc14c68..0000000000000000000000000000000000000000 --- a/src/spread/mult-obj-empty.case +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -desc: Object Spread operator following other arguments with empty object -template: default -esid: pending -info: | - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). -features: [object-spread] ----*/ - -//- args -{a: 1, b: 2, ...{}} -//- params -obj -//- body -assert.sameValue(obj.a, 1); -assert.sameValue(obj.b, 2); -assert.sameValue(Object.keys(obj).length, 2); diff --git a/src/spread/mult-obj-null-empty-undefined.case b/src/spread/mult-obj-null-empty-undefined.case deleted file mode 100644 index b8d010139cb6c17398e22780afc5dbcd6a0efc5e..0000000000000000000000000000000000000000 --- a/src/spread/mult-obj-null-empty-undefined.case +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -desc: Object Spread operator following other arguments with null, undefined and empty object -template: default -esid: pending -includes: [compareArray.js] -info: | - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). -features: [object-spread] ----*/ - -//- args -{a: 1, ...null, b: 2, ...undefined, c: 3, ...{}, ...{...{}}, d: 4} -//- params -obj -//- body -assert.sameValue(obj.a, 1); -assert.sameValue(obj.b, 2); -assert.sameValue(obj.c, 3); -assert.sameValue(obj.d, 4); -assert(compareArray(Object.keys(obj), ["a", "b", "c", "d"])); diff --git a/src/spread/obj-setter-redef.case b/src/spread/obj-setter-redef.case deleted file mode 100644 index 3354d77ca0296625a7df60073a8d8f2ad23b2014..0000000000000000000000000000000000000000 --- a/src/spread/obj-setter-redef.case +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -desc: Setter are not executed when redefined in Object Spread -template: default -esid: pending -features: [object-spread] ----*/ - -//- setup -let executedSetter = false; - -//- args -{set c(v) { executedSetter = true; }, ...{c: 1}} -//- params -obj -//- body -assert.sameValue(obj.c, 1); -assert.sameValue(executedSetter, false); -assert.sameValue(Object.keys(obj).length, 1); diff --git a/src/spread/sngl-err-obj-getter-throws.case b/src/spread/sngl-err-obj-getter-throws.case deleted file mode 100644 index 98b58892bd43df2a63f0d7d9ddd7423ae18f3632..0000000000000000000000000000000000000000 --- a/src/spread/sngl-err-obj-getter-throws.case +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -desc: Object Spread operator results in error when there is an getter that throws an exception -template: error -esid: pending -info: | - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - -features: [object-spread] ----*/ - -//- error -Test262Error -//- args -{...{ get foo() { throw new Test262Error(); } }} diff --git a/src/spread/sngl-obj-base.case b/src/spread/sngl-obj-base.case deleted file mode 100644 index b00f328bfd605872acd44f9a8a5ba4b8677eb9f8..0000000000000000000000000000000000000000 --- a/src/spread/sngl-obj-base.case +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -desc: Object Spread operator without other arguments -template: default -esid: pending -includes: [propertyHelper.js] -info: | - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). -features: [object-spread] ----*/ - -//- args -{...{c: 3, d: 4}} -//- params -obj -//- body -assert.sameValue(obj.c, 3); -assert.sameValue(obj.d, 4); -assert.sameValue(Object.keys(obj).length, 2); - -verifyEnumerable(obj, "c"); -verifyWritable(obj, "c"); -verifyConfigurable(obj, "c"); - -verifyEnumerable(obj, "d"); -verifyWritable(obj, "d"); -verifyConfigurable(obj, "d"); diff --git a/src/spread/sngl-obj-empty.case b/src/spread/sngl-obj-empty.case deleted file mode 100644 index 4fbeaa70ae91ec17daa1c042bdf74960315a042b..0000000000000000000000000000000000000000 --- a/src/spread/sngl-obj-empty.case +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (C) 2017 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -desc: Object Spread operator on a single empty object -template: default -esid: pending -info: | - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). -features: [object-spread] ----*/ - -//- args -{...{}} -//- params -obj -//- body -assert.sameValue(Object.keys(obj).length, 0); diff --git a/test/language/expressions/array/spread-err-mult-err-obj-getter-throws.js b/test/language/expressions/array/spread-err-mult-err-obj-getter-throws.js deleted file mode 100644 index 7dfdd191dcbc0cb2cb0ba5384632b1e294ec8e3e..0000000000000000000000000000000000000000 --- a/test/language/expressions/array/spread-err-mult-err-obj-getter-throws.js +++ /dev/null @@ -1,39 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-err-obj-getter-throws.case -// - src/spread/error/array.template -/*--- -description: Object Spread operator results in error when there is an getter that throws an exception (Array initializer) -esid: sec-runtime-semantics-arrayaccumulation -es6id: 12.2.5.2 -features: [object-spread] -flags: [generated] -info: | - SpreadElement : ...AssignmentExpression - - 1. Let spreadRef be the result of evaluating AssignmentExpression. - 2. Let spreadObj be ? GetValue(spreadRef). - 3. Let iterator be ? GetIterator(spreadObj). - 4. Repeat - a. Let next be ? IteratorStep(iterator). - b. If next is false, return nextIndex. - c. Let nextValue be ? IteratorValue(next). - d. Let status be CreateDataProperty(array, ToString(ToUint32(nextIndex)), - nextValue). - e. Assert: status is true. - f. Let nextIndex be nextIndex + 1. - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -assert.throws(Test262Error, function() { - [{a: 1, ...{ get foo() { throw new Test262Error(); } }}]; -}); diff --git a/test/language/expressions/array/spread-err-sngl-err-obj-getter-throws.js b/test/language/expressions/array/spread-err-sngl-err-obj-getter-throws.js deleted file mode 100644 index 7842f995cd565894e49386a0aa8c621bb13b23a6..0000000000000000000000000000000000000000 --- a/test/language/expressions/array/spread-err-sngl-err-obj-getter-throws.js +++ /dev/null @@ -1,39 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/sngl-err-obj-getter-throws.case -// - src/spread/error/array.template -/*--- -description: Object Spread operator results in error when there is an getter that throws an exception (Array initializer) -esid: sec-runtime-semantics-arrayaccumulation -es6id: 12.2.5.2 -features: [object-spread] -flags: [generated] -info: | - SpreadElement : ...AssignmentExpression - - 1. Let spreadRef be the result of evaluating AssignmentExpression. - 2. Let spreadObj be ? GetValue(spreadRef). - 3. Let iterator be ? GetIterator(spreadObj). - 4. Repeat - a. Let next be ? IteratorStep(iterator). - b. If next is false, return nextIndex. - c. Let nextValue be ? IteratorValue(next). - d. Let status be CreateDataProperty(array, ToString(ToUint32(nextIndex)), - nextValue). - e. Assert: status is true. - f. Let nextIndex be nextIndex + 1. - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -assert.throws(Test262Error, function() { - [{...{ get foo() { throw new Test262Error(); } }}]; -}); diff --git a/test/language/expressions/array/spread-mult-obj-base.js b/test/language/expressions/array/spread-mult-obj-base.js deleted file mode 100644 index 37cbe1c462b306be09d72c24ba700d1e89bc9371..0000000000000000000000000000000000000000 --- a/test/language/expressions/array/spread-mult-obj-base.js +++ /dev/null @@ -1,58 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-obj-base.case -// - src/spread/default/array.template -/*--- -description: Object Spread operator following other arguments (Array initializer) -esid: sec-runtime-semantics-arrayaccumulation -es6id: 12.2.5.2 -features: [object-spread] -flags: [generated] -includes: [propertyHelper.js] -info: | - SpreadElement : ...AssignmentExpression - - 1. Let spreadRef be the result of evaluating AssignmentExpression. - 2. Let spreadObj be ? GetValue(spreadRef). - 3. Let iterator be ? GetIterator(spreadObj). - 4. Repeat - a. Let next be ? IteratorStep(iterator). - b. If next is false, return nextIndex. - c. Let nextValue be ? IteratorValue(next). - d. Let status be CreateDataProperty(array, ToString(ToUint32(nextIndex)), - nextValue). - e. Assert: status is true. - f. Let nextIndex be nextIndex + 1. - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -(function(obj) { - assert.sameValue(obj.a, 1); - assert.sameValue(obj.b, 2); - assert.sameValue(obj.c, 3); - assert.sameValue(obj.d, 4); - assert.sameValue(Object.keys(obj).length, 4); - - verifyEnumerable(obj, "c"); - verifyWritable(obj, "c"); - verifyConfigurable(obj, "c"); - - verifyEnumerable(obj, "d"); - verifyWritable(obj, "d"); - verifyConfigurable(obj, "d"); - - callCount += 1; -}.apply(null, [{a: 1, b: 2, ...{c: 3, d: 4}}])); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/array/spread-mult-obj-empty.js b/test/language/expressions/array/spread-mult-obj-empty.js deleted file mode 100644 index 7b7c42682a3c047b73d2bcc42c762098cf1fa1c3..0000000000000000000000000000000000000000 --- a/test/language/expressions/array/spread-mult-obj-empty.js +++ /dev/null @@ -1,46 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-obj-empty.case -// - src/spread/default/array.template -/*--- -description: Object Spread operator following other arguments with empty object (Array initializer) -esid: sec-runtime-semantics-arrayaccumulation -es6id: 12.2.5.2 -features: [object-spread] -flags: [generated] -info: | - SpreadElement : ...AssignmentExpression - - 1. Let spreadRef be the result of evaluating AssignmentExpression. - 2. Let spreadObj be ? GetValue(spreadRef). - 3. Let iterator be ? GetIterator(spreadObj). - 4. Repeat - a. Let next be ? IteratorStep(iterator). - b. If next is false, return nextIndex. - c. Let nextValue be ? IteratorValue(next). - d. Let status be CreateDataProperty(array, ToString(ToUint32(nextIndex)), - nextValue). - e. Assert: status is true. - f. Let nextIndex be nextIndex + 1. - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -(function(obj) { - assert.sameValue(obj.a, 1); - assert.sameValue(obj.b, 2); - assert.sameValue(Object.keys(obj).length, 2); - callCount += 1; -}.apply(null, [{a: 1, b: 2, ...{}}])); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/array/spread-mult-obj-null-empty-undefined.js b/test/language/expressions/array/spread-mult-obj-null-empty-undefined.js deleted file mode 100644 index ec2cc9e48e55ad96549a834ab105e0ea820dea8a..0000000000000000000000000000000000000000 --- a/test/language/expressions/array/spread-mult-obj-null-empty-undefined.js +++ /dev/null @@ -1,49 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-obj-null-empty-undefined.case -// - src/spread/default/array.template -/*--- -description: Object Spread operator following other arguments with null, undefined and empty object (Array initializer) -esid: sec-runtime-semantics-arrayaccumulation -es6id: 12.2.5.2 -features: [object-spread] -flags: [generated] -includes: [compareArray.js] -info: | - SpreadElement : ...AssignmentExpression - - 1. Let spreadRef be the result of evaluating AssignmentExpression. - 2. Let spreadObj be ? GetValue(spreadRef). - 3. Let iterator be ? GetIterator(spreadObj). - 4. Repeat - a. Let next be ? IteratorStep(iterator). - b. If next is false, return nextIndex. - c. Let nextValue be ? IteratorValue(next). - d. Let status be CreateDataProperty(array, ToString(ToUint32(nextIndex)), - nextValue). - e. Assert: status is true. - f. Let nextIndex be nextIndex + 1. - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -(function(obj) { - assert.sameValue(obj.a, 1); - assert.sameValue(obj.b, 2); - assert.sameValue(obj.c, 3); - assert.sameValue(obj.d, 4); - assert(compareArray(Object.keys(obj), ["a", "b", "c", "d"])); - callCount += 1; -}.apply(null, [{a: 1, ...null, b: 2, ...undefined, c: 3, ...{}, ...{...{}}, d: 4}])); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/array/spread-obj-setter-redef.js b/test/language/expressions/array/spread-obj-setter-redef.js deleted file mode 100644 index 8bb804dd808f8035649b497264dde4b29c164e3d..0000000000000000000000000000000000000000 --- a/test/language/expressions/array/spread-obj-setter-redef.js +++ /dev/null @@ -1,37 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/obj-setter-redef.case -// - src/spread/default/array.template -/*--- -description: Setter are not executed when redefined in Object Spread (Array initializer) -esid: sec-runtime-semantics-arrayaccumulation -es6id: 12.2.5.2 -features: [object-spread] -flags: [generated] -info: | - SpreadElement : ...AssignmentExpression - - 1. Let spreadRef be the result of evaluating AssignmentExpression. - 2. Let spreadObj be ? GetValue(spreadRef). - 3. Let iterator be ? GetIterator(spreadObj). - 4. Repeat - a. Let next be ? IteratorStep(iterator). - b. If next is false, return nextIndex. - c. Let nextValue be ? IteratorValue(next). - d. Let status be CreateDataProperty(array, ToString(ToUint32(nextIndex)), - nextValue). - e. Assert: status is true. - f. Let nextIndex be nextIndex + 1. ----*/ -let executedSetter = false; - - -var callCount = 0; - -(function(obj) { - assert.sameValue(obj.c, 1); - assert.sameValue(executedSetter, false); - assert.sameValue(Object.keys(obj).length, 1); - callCount += 1; -}.apply(null, [{set c(v) { executedSetter = true; }, ...{c: 1}}])); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/array/spread-sngl-obj-base.js b/test/language/expressions/array/spread-sngl-obj-base.js deleted file mode 100644 index c71094aa2da3e19f004862076377ee44e1b74beb..0000000000000000000000000000000000000000 --- a/test/language/expressions/array/spread-sngl-obj-base.js +++ /dev/null @@ -1,55 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/sngl-obj-base.case -// - src/spread/default/array.template -/*--- -description: Object Spread operator without other arguments (Array initializer) -esid: sec-runtime-semantics-arrayaccumulation -es6id: 12.2.5.2 -features: [object-spread] -flags: [generated] -includes: [propertyHelper.js] -info: | - SpreadElement : ...AssignmentExpression - - 1. Let spreadRef be the result of evaluating AssignmentExpression. - 2. Let spreadObj be ? GetValue(spreadRef). - 3. Let iterator be ? GetIterator(spreadObj). - 4. Repeat - a. Let next be ? IteratorStep(iterator). - b. If next is false, return nextIndex. - c. Let nextValue be ? IteratorValue(next). - d. Let status be CreateDataProperty(array, ToString(ToUint32(nextIndex)), - nextValue). - e. Assert: status is true. - f. Let nextIndex be nextIndex + 1. - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -(function(obj) { - assert.sameValue(obj.c, 3); - assert.sameValue(obj.d, 4); - assert.sameValue(Object.keys(obj).length, 2); - - verifyEnumerable(obj, "c"); - verifyWritable(obj, "c"); - verifyConfigurable(obj, "c"); - - verifyEnumerable(obj, "d"); - verifyWritable(obj, "d"); - verifyConfigurable(obj, "d"); - callCount += 1; -}.apply(null, [{...{c: 3, d: 4}}])); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/array/spread-sngl-obj-empty.js b/test/language/expressions/array/spread-sngl-obj-empty.js deleted file mode 100644 index f44cb8cfbbe56003c35a655f4462c464cfcd7719..0000000000000000000000000000000000000000 --- a/test/language/expressions/array/spread-sngl-obj-empty.js +++ /dev/null @@ -1,44 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/sngl-obj-empty.case -// - src/spread/default/array.template -/*--- -description: Object Spread operator on a single empty object (Array initializer) -esid: sec-runtime-semantics-arrayaccumulation -es6id: 12.2.5.2 -features: [object-spread] -flags: [generated] -info: | - SpreadElement : ...AssignmentExpression - - 1. Let spreadRef be the result of evaluating AssignmentExpression. - 2. Let spreadObj be ? GetValue(spreadRef). - 3. Let iterator be ? GetIterator(spreadObj). - 4. Repeat - a. Let next be ? IteratorStep(iterator). - b. If next is false, return nextIndex. - c. Let nextValue be ? IteratorValue(next). - d. Let status be CreateDataProperty(array, ToString(ToUint32(nextIndex)), - nextValue). - e. Assert: status is true. - f. Let nextIndex be nextIndex + 1. - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -(function(obj) { - assert.sameValue(Object.keys(obj).length, 0); - callCount += 1; -}.apply(null, [{...{}}])); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/assignment/dstr-obj-rest-nested-obj-nested-rest.js b/test/language/expressions/assignment/dstr-obj-rest-nested-obj-nested-rest.js deleted file mode 100644 index af5973000ebfe6b9a967471d8e9fcc9875b5a794..0000000000000000000000000000000000000000 --- a/test/language/expressions/assignment/dstr-obj-rest-nested-obj-nested-rest.js +++ /dev/null @@ -1,43 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-assignment/obj-rest-nested-obj-nested-rest.case -// - src/dstr-assignment/default/assignment-expr.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (AssignmentExpression) -esid: sec-variable-statement-runtime-semantics-evaluation -es6id: 13.3.2.4 -features: [object-rest, destructuring-binding] -flags: [generated] -includes: [propertyHelper.js] -info: | - VariableDeclaration : BindingPattern Initializer - - 1. Let rhs be the result of evaluating Initializer. - 2. Let rval be GetValue(rhs). - 3. ReturnIfAbrupt(rval). - 4. Return the result of performing BindingInitialization for - BindingPattern passing rval and undefined as arguments. ----*/ -var a, b, c, rest; - -var result; -var vals = {a: 1, b: 2, c: 3, d: 4, e: 5}; - -result = {a, b, ...{c, ...rest}} = vals; - -assert.sameValue(a, 1); -assert.sameValue(b, 2); -assert.sameValue(c, 3); - -assert.sameValue(rest.d, 4); -assert.sameValue(rest.e, 5); - -verifyEnumerable(rest, "d"); -verifyWritable(rest, "d"); -verifyConfigurable(rest, "d"); - -verifyEnumerable(rest, "e"); -verifyWritable(rest, "e"); -verifyConfigurable(rest, "e"); - - -assert.sameValue(result, vals); diff --git a/test/language/expressions/assignment/dstr-obj-rest-nested-obj.js b/test/language/expressions/assignment/dstr-obj-rest-nested-obj.js deleted file mode 100644 index 13ab79c17b4a30a3857f0bea75a0bd0b3d1ab192..0000000000000000000000000000000000000000 --- a/test/language/expressions/assignment/dstr-obj-rest-nested-obj.js +++ /dev/null @@ -1,33 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-assignment/obj-rest-nested-obj.case -// - src/dstr-assignment/default/assignment-expr.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (AssignmentExpression) -esid: sec-variable-statement-runtime-semantics-evaluation -es6id: 13.3.2.4 -features: [object-rest, destructuring-binding] -flags: [generated] -info: | - VariableDeclaration : BindingPattern Initializer - - 1. Let rhs be the result of evaluating Initializer. - 2. Let rval be GetValue(rhs). - 3. ReturnIfAbrupt(rval). - 4. Return the result of performing BindingInitialization for - BindingPattern passing rval and undefined as arguments. ----*/ -var a, b, c, d, e; - -var result; -var vals = {a: 1, b: 2, c: 3, d: 4, e: 5}; - -result = {a, b, ...{c, e}} = vals; - -assert.sameValue(a, 1); -assert.sameValue(b, 2); -assert.sameValue(c, 3); -assert.sameValue(e, 5); -assert.sameValue(d, undefined); - - -assert.sameValue(result, vals); diff --git a/test/language/expressions/assignment/dstr-obj-rest-obj-own-property.js b/test/language/expressions/assignment/dstr-obj-rest-obj-own-property.js deleted file mode 100644 index 07bc12b48e705b73709fc17437c13239fdf86b96..0000000000000000000000000000000000000000 --- a/test/language/expressions/assignment/dstr-obj-rest-obj-own-property.js +++ /dev/null @@ -1,34 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-assignment/obj-rest-obj-own-property.case -// - src/dstr-assignment/default/assignment-expr.template -/*--- -description: Rest object contains just source object's own properties (AssignmentExpression) -esid: sec-variable-statement-runtime-semantics-evaluation -es6id: 13.3.2.4 -features: [object-rest, destructuring-binding] -flags: [generated] -info: | - VariableDeclaration : BindingPattern Initializer - - 1. Let rhs be the result of evaluating Initializer. - 2. Let rval be GetValue(rhs). - 3. ReturnIfAbrupt(rval). - 4. Return the result of performing BindingInitialization for - BindingPattern passing rval and undefined as arguments. ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var x, y, z; - -var result; -var vals = o; - -result = { x, ...{y , z} } = vals; - -assert.sameValue(x, 1); -assert.sameValue(y, undefined); -assert.sameValue(z, 3); - - -assert.sameValue(result, vals); diff --git a/test/language/expressions/call/spread-err-mult-err-obj-getter-throws.js b/test/language/expressions/call/spread-err-mult-err-obj-getter-throws.js deleted file mode 100644 index 82e14673ff2e495cac0a7014ac44cd3f128dcbf4..0000000000000000000000000000000000000000 --- a/test/language/expressions/call/spread-err-mult-err-obj-getter-throws.js +++ /dev/null @@ -1,37 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-err-obj-getter-throws.case -// - src/spread/error/call-expr.template -/*--- -description: Object Spread operator results in error when there is an getter that throws an exception (CallExpression) -esid: sec-function-calls-runtime-semantics-evaluation -es6id: 12.3.4.1 -features: [object-spread] -flags: [generated] -info: | - CallExpression : MemberExpression Arguments - - [...] - 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). - - 12.3.4.3 Runtime Semantics: EvaluateDirectCall - - 1. Let argList be ArgumentListEvaluation(arguments). - [...] - 6. Let result be Call(func, thisValue, argList). - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -assert.throws(Test262Error, function() { - (function() {}({a: 1, ...{ get foo() { throw new Test262Error(); } }})); -}); diff --git a/test/language/expressions/call/spread-err-sngl-err-obj-getter-throws.js b/test/language/expressions/call/spread-err-sngl-err-obj-getter-throws.js deleted file mode 100644 index cd8aa2476292a5dbb530a06184680a2672ee2014..0000000000000000000000000000000000000000 --- a/test/language/expressions/call/spread-err-sngl-err-obj-getter-throws.js +++ /dev/null @@ -1,37 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/sngl-err-obj-getter-throws.case -// - src/spread/error/call-expr.template -/*--- -description: Object Spread operator results in error when there is an getter that throws an exception (CallExpression) -esid: sec-function-calls-runtime-semantics-evaluation -es6id: 12.3.4.1 -features: [object-spread] -flags: [generated] -info: | - CallExpression : MemberExpression Arguments - - [...] - 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). - - 12.3.4.3 Runtime Semantics: EvaluateDirectCall - - 1. Let argList be ArgumentListEvaluation(arguments). - [...] - 6. Let result be Call(func, thisValue, argList). - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -assert.throws(Test262Error, function() { - (function() {}({...{ get foo() { throw new Test262Error(); } }})); -}); diff --git a/test/language/expressions/call/spread-mult-obj-base.js b/test/language/expressions/call/spread-mult-obj-base.js deleted file mode 100644 index cb411cb9cfcde63016366897c9e3b6621e3757ab..0000000000000000000000000000000000000000 --- a/test/language/expressions/call/spread-mult-obj-base.js +++ /dev/null @@ -1,56 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-obj-base.case -// - src/spread/default/call-expr.template -/*--- -description: Object Spread operator following other arguments (CallExpression) -esid: sec-function-calls-runtime-semantics-evaluation -es6id: 12.3.4.1 -features: [object-spread] -flags: [generated] -includes: [propertyHelper.js] -info: | - CallExpression : MemberExpression Arguments - - [...] - 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). - - 12.3.4.3 Runtime Semantics: EvaluateDirectCall - - 1. Let argList be ArgumentListEvaluation(arguments). - [...] - 6. Let result be Call(func, thisValue, argList). - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -(function(obj) { - assert.sameValue(obj.a, 1); - assert.sameValue(obj.b, 2); - assert.sameValue(obj.c, 3); - assert.sameValue(obj.d, 4); - assert.sameValue(Object.keys(obj).length, 4); - - verifyEnumerable(obj, "c"); - verifyWritable(obj, "c"); - verifyConfigurable(obj, "c"); - - verifyEnumerable(obj, "d"); - verifyWritable(obj, "d"); - verifyConfigurable(obj, "d"); - - callCount += 1; -}({a: 1, b: 2, ...{c: 3, d: 4}})); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/call/spread-mult-obj-empty.js b/test/language/expressions/call/spread-mult-obj-empty.js deleted file mode 100644 index 7a3f959896f01c21be84e1f77fdc47cf6a1cc514..0000000000000000000000000000000000000000 --- a/test/language/expressions/call/spread-mult-obj-empty.js +++ /dev/null @@ -1,44 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-obj-empty.case -// - src/spread/default/call-expr.template -/*--- -description: Object Spread operator following other arguments with empty object (CallExpression) -esid: sec-function-calls-runtime-semantics-evaluation -es6id: 12.3.4.1 -features: [object-spread] -flags: [generated] -info: | - CallExpression : MemberExpression Arguments - - [...] - 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). - - 12.3.4.3 Runtime Semantics: EvaluateDirectCall - - 1. Let argList be ArgumentListEvaluation(arguments). - [...] - 6. Let result be Call(func, thisValue, argList). - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -(function(obj) { - assert.sameValue(obj.a, 1); - assert.sameValue(obj.b, 2); - assert.sameValue(Object.keys(obj).length, 2); - callCount += 1; -}({a: 1, b: 2, ...{}})); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/call/spread-mult-obj-null-empty-undefined.js b/test/language/expressions/call/spread-mult-obj-null-empty-undefined.js deleted file mode 100644 index e7b18e18eb13c16952dc7d25082fe4f6d1b76143..0000000000000000000000000000000000000000 --- a/test/language/expressions/call/spread-mult-obj-null-empty-undefined.js +++ /dev/null @@ -1,47 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-obj-null-empty-undefined.case -// - src/spread/default/call-expr.template -/*--- -description: Object Spread operator following other arguments with null, undefined and empty object (CallExpression) -esid: sec-function-calls-runtime-semantics-evaluation -es6id: 12.3.4.1 -features: [object-spread] -flags: [generated] -includes: [compareArray.js] -info: | - CallExpression : MemberExpression Arguments - - [...] - 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). - - 12.3.4.3 Runtime Semantics: EvaluateDirectCall - - 1. Let argList be ArgumentListEvaluation(arguments). - [...] - 6. Let result be Call(func, thisValue, argList). - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -(function(obj) { - assert.sameValue(obj.a, 1); - assert.sameValue(obj.b, 2); - assert.sameValue(obj.c, 3); - assert.sameValue(obj.d, 4); - assert(compareArray(Object.keys(obj), ["a", "b", "c", "d"])); - callCount += 1; -}({a: 1, ...null, b: 2, ...undefined, c: 3, ...{}, ...{...{}}, d: 4})); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/call/spread-obj-setter-redef.js b/test/language/expressions/call/spread-obj-setter-redef.js deleted file mode 100644 index a2d37aef4dd52c5f5405fcc9a88f1dd6dbbc665f..0000000000000000000000000000000000000000 --- a/test/language/expressions/call/spread-obj-setter-redef.js +++ /dev/null @@ -1,35 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/obj-setter-redef.case -// - src/spread/default/call-expr.template -/*--- -description: Setter are not executed when redefined in Object Spread (CallExpression) -esid: sec-function-calls-runtime-semantics-evaluation -es6id: 12.3.4.1 -features: [object-spread] -flags: [generated] -info: | - CallExpression : MemberExpression Arguments - - [...] - 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). - - 12.3.4.3 Runtime Semantics: EvaluateDirectCall - - 1. Let argList be ArgumentListEvaluation(arguments). - [...] - 6. Let result be Call(func, thisValue, argList). - [...] ----*/ -let executedSetter = false; - - -var callCount = 0; - -(function(obj) { - assert.sameValue(obj.c, 1); - assert.sameValue(executedSetter, false); - assert.sameValue(Object.keys(obj).length, 1); - callCount += 1; -}({set c(v) { executedSetter = true; }, ...{c: 1}})); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/call/spread-sngl-obj-base.js b/test/language/expressions/call/spread-sngl-obj-base.js deleted file mode 100644 index df3f2a5b38e00c0f24bfa2aa4ca514e140d0ae68..0000000000000000000000000000000000000000 --- a/test/language/expressions/call/spread-sngl-obj-base.js +++ /dev/null @@ -1,53 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/sngl-obj-base.case -// - src/spread/default/call-expr.template -/*--- -description: Object Spread operator without other arguments (CallExpression) -esid: sec-function-calls-runtime-semantics-evaluation -es6id: 12.3.4.1 -features: [object-spread] -flags: [generated] -includes: [propertyHelper.js] -info: | - CallExpression : MemberExpression Arguments - - [...] - 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). - - 12.3.4.3 Runtime Semantics: EvaluateDirectCall - - 1. Let argList be ArgumentListEvaluation(arguments). - [...] - 6. Let result be Call(func, thisValue, argList). - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -(function(obj) { - assert.sameValue(obj.c, 3); - assert.sameValue(obj.d, 4); - assert.sameValue(Object.keys(obj).length, 2); - - verifyEnumerable(obj, "c"); - verifyWritable(obj, "c"); - verifyConfigurable(obj, "c"); - - verifyEnumerable(obj, "d"); - verifyWritable(obj, "d"); - verifyConfigurable(obj, "d"); - callCount += 1; -}({...{c: 3, d: 4}})); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/call/spread-sngl-obj-empty.js b/test/language/expressions/call/spread-sngl-obj-empty.js deleted file mode 100644 index 976d2d990d9ad04def09256c78cf60649be96dbc..0000000000000000000000000000000000000000 --- a/test/language/expressions/call/spread-sngl-obj-empty.js +++ /dev/null @@ -1,42 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/sngl-obj-empty.case -// - src/spread/default/call-expr.template -/*--- -description: Object Spread operator on a single empty object (CallExpression) -esid: sec-function-calls-runtime-semantics-evaluation -es6id: 12.3.4.1 -features: [object-spread] -flags: [generated] -info: | - CallExpression : MemberExpression Arguments - - [...] - 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). - - 12.3.4.3 Runtime Semantics: EvaluateDirectCall - - 1. Let argList be ArgumentListEvaluation(arguments). - [...] - 6. Let result be Call(func, thisValue, argList). - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -(function(obj) { - assert.sameValue(Object.keys(obj).length, 0); - callCount += 1; -}({...{}})); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/new/spread-err-mult-err-obj-getter-throws.js b/test/language/expressions/new/spread-err-mult-err-obj-getter-throws.js deleted file mode 100644 index 08d7fcf705e12383b69023cee9d8b259d5175b34..0000000000000000000000000000000000000000 --- a/test/language/expressions/new/spread-err-mult-err-obj-getter-throws.js +++ /dev/null @@ -1,36 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-err-obj-getter-throws.case -// - src/spread/error/member-expr.template -/*--- -description: Object Spread operator results in error when there is an getter that throws an exception (`new` operator) -esid: sec-new-operator-runtime-semantics-evaluation -es6id: 12.3.3.1 -features: [object-spread] -flags: [generated] -info: | - MemberExpression : new MemberExpression Arguments - - 1. Return EvaluateNew(MemberExpression, Arguments). - - 12.3.3.1.1 Runtime Semantics: EvaluateNew - - 6. If arguments is empty, let argList be an empty List. - 7. Else, - a. Let argList be ArgumentListEvaluation of arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -assert.throws(Test262Error, function() { - new function() {}({a: 1, ...{ get foo() { throw new Test262Error(); } }}); -}); diff --git a/test/language/expressions/new/spread-err-sngl-err-obj-getter-throws.js b/test/language/expressions/new/spread-err-sngl-err-obj-getter-throws.js deleted file mode 100644 index b0cbfda6cc71c2d8752f0241160098bb2b5b362e..0000000000000000000000000000000000000000 --- a/test/language/expressions/new/spread-err-sngl-err-obj-getter-throws.js +++ /dev/null @@ -1,36 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/sngl-err-obj-getter-throws.case -// - src/spread/error/member-expr.template -/*--- -description: Object Spread operator results in error when there is an getter that throws an exception (`new` operator) -esid: sec-new-operator-runtime-semantics-evaluation -es6id: 12.3.3.1 -features: [object-spread] -flags: [generated] -info: | - MemberExpression : new MemberExpression Arguments - - 1. Return EvaluateNew(MemberExpression, Arguments). - - 12.3.3.1.1 Runtime Semantics: EvaluateNew - - 6. If arguments is empty, let argList be an empty List. - 7. Else, - a. Let argList be ArgumentListEvaluation of arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -assert.throws(Test262Error, function() { - new function() {}({...{ get foo() { throw new Test262Error(); } }}); -}); diff --git a/test/language/expressions/new/spread-mult-obj-base.js b/test/language/expressions/new/spread-mult-obj-base.js deleted file mode 100644 index c3418a902549589b54b4020fd0f9b5b1d7436395..0000000000000000000000000000000000000000 --- a/test/language/expressions/new/spread-mult-obj-base.js +++ /dev/null @@ -1,55 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-obj-base.case -// - src/spread/default/member-expr.template -/*--- -description: Object Spread operator following other arguments (`new` operator) -esid: sec-new-operator-runtime-semantics-evaluation -es6id: 12.3.3.1 -features: [object-spread] -flags: [generated] -includes: [propertyHelper.js] -info: | - MemberExpression : new MemberExpression Arguments - - 1. Return EvaluateNew(MemberExpression, Arguments). - - 12.3.3.1.1 Runtime Semantics: EvaluateNew - - 6. If arguments is empty, let argList be an empty List. - 7. Else, - a. Let argList be ArgumentListEvaluation of arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -new function(obj) { - assert.sameValue(obj.a, 1); - assert.sameValue(obj.b, 2); - assert.sameValue(obj.c, 3); - assert.sameValue(obj.d, 4); - assert.sameValue(Object.keys(obj).length, 4); - - verifyEnumerable(obj, "c"); - verifyWritable(obj, "c"); - verifyConfigurable(obj, "c"); - - verifyEnumerable(obj, "d"); - verifyWritable(obj, "d"); - verifyConfigurable(obj, "d"); - - callCount += 1; -}({a: 1, b: 2, ...{c: 3, d: 4}}); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/new/spread-mult-obj-empty.js b/test/language/expressions/new/spread-mult-obj-empty.js deleted file mode 100644 index 08a544960f6d3431c44fd09fcdcc3d9ef0b18c34..0000000000000000000000000000000000000000 --- a/test/language/expressions/new/spread-mult-obj-empty.js +++ /dev/null @@ -1,43 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-obj-empty.case -// - src/spread/default/member-expr.template -/*--- -description: Object Spread operator following other arguments with empty object (`new` operator) -esid: sec-new-operator-runtime-semantics-evaluation -es6id: 12.3.3.1 -features: [object-spread] -flags: [generated] -info: | - MemberExpression : new MemberExpression Arguments - - 1. Return EvaluateNew(MemberExpression, Arguments). - - 12.3.3.1.1 Runtime Semantics: EvaluateNew - - 6. If arguments is empty, let argList be an empty List. - 7. Else, - a. Let argList be ArgumentListEvaluation of arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -new function(obj) { - assert.sameValue(obj.a, 1); - assert.sameValue(obj.b, 2); - assert.sameValue(Object.keys(obj).length, 2); - callCount += 1; -}({a: 1, b: 2, ...{}}); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/new/spread-mult-obj-null-empty-undefined.js b/test/language/expressions/new/spread-mult-obj-null-empty-undefined.js deleted file mode 100644 index 1be7f5b1584a8d3567706315465d6f6a485ea317..0000000000000000000000000000000000000000 --- a/test/language/expressions/new/spread-mult-obj-null-empty-undefined.js +++ /dev/null @@ -1,46 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-obj-null-empty-undefined.case -// - src/spread/default/member-expr.template -/*--- -description: Object Spread operator following other arguments with null, undefined and empty object (`new` operator) -esid: sec-new-operator-runtime-semantics-evaluation -es6id: 12.3.3.1 -features: [object-spread] -flags: [generated] -includes: [compareArray.js] -info: | - MemberExpression : new MemberExpression Arguments - - 1. Return EvaluateNew(MemberExpression, Arguments). - - 12.3.3.1.1 Runtime Semantics: EvaluateNew - - 6. If arguments is empty, let argList be an empty List. - 7. Else, - a. Let argList be ArgumentListEvaluation of arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -new function(obj) { - assert.sameValue(obj.a, 1); - assert.sameValue(obj.b, 2); - assert.sameValue(obj.c, 3); - assert.sameValue(obj.d, 4); - assert(compareArray(Object.keys(obj), ["a", "b", "c", "d"])); - callCount += 1; -}({a: 1, ...null, b: 2, ...undefined, c: 3, ...{}, ...{...{}}, d: 4}); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/new/spread-obj-setter-redef.js b/test/language/expressions/new/spread-obj-setter-redef.js deleted file mode 100644 index 105b48ed40d595f60bba25948e0f2cfa6b1a53dc..0000000000000000000000000000000000000000 --- a/test/language/expressions/new/spread-obj-setter-redef.js +++ /dev/null @@ -1,34 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/obj-setter-redef.case -// - src/spread/default/member-expr.template -/*--- -description: Setter are not executed when redefined in Object Spread (`new` operator) -esid: sec-new-operator-runtime-semantics-evaluation -es6id: 12.3.3.1 -features: [object-spread] -flags: [generated] -info: | - MemberExpression : new MemberExpression Arguments - - 1. Return EvaluateNew(MemberExpression, Arguments). - - 12.3.3.1.1 Runtime Semantics: EvaluateNew - - 6. If arguments is empty, let argList be an empty List. - 7. Else, - a. Let argList be ArgumentListEvaluation of arguments. - [...] ----*/ -let executedSetter = false; - - -var callCount = 0; - -new function(obj) { - assert.sameValue(obj.c, 1); - assert.sameValue(executedSetter, false); - assert.sameValue(Object.keys(obj).length, 1); - callCount += 1; -}({set c(v) { executedSetter = true; }, ...{c: 1}}); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/new/spread-sngl-obj-base.js b/test/language/expressions/new/spread-sngl-obj-base.js deleted file mode 100644 index af890534d752fdb91110ef5acd2d1c493ef4fde8..0000000000000000000000000000000000000000 --- a/test/language/expressions/new/spread-sngl-obj-base.js +++ /dev/null @@ -1,52 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/sngl-obj-base.case -// - src/spread/default/member-expr.template -/*--- -description: Object Spread operator without other arguments (`new` operator) -esid: sec-new-operator-runtime-semantics-evaluation -es6id: 12.3.3.1 -features: [object-spread] -flags: [generated] -includes: [propertyHelper.js] -info: | - MemberExpression : new MemberExpression Arguments - - 1. Return EvaluateNew(MemberExpression, Arguments). - - 12.3.3.1.1 Runtime Semantics: EvaluateNew - - 6. If arguments is empty, let argList be an empty List. - 7. Else, - a. Let argList be ArgumentListEvaluation of arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -new function(obj) { - assert.sameValue(obj.c, 3); - assert.sameValue(obj.d, 4); - assert.sameValue(Object.keys(obj).length, 2); - - verifyEnumerable(obj, "c"); - verifyWritable(obj, "c"); - verifyConfigurable(obj, "c"); - - verifyEnumerable(obj, "d"); - verifyWritable(obj, "d"); - verifyConfigurable(obj, "d"); - callCount += 1; -}({...{c: 3, d: 4}}); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/new/spread-sngl-obj-empty.js b/test/language/expressions/new/spread-sngl-obj-empty.js deleted file mode 100644 index abdde8ffc59670fefed780a6873209a4465eab9b..0000000000000000000000000000000000000000 --- a/test/language/expressions/new/spread-sngl-obj-empty.js +++ /dev/null @@ -1,41 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/sngl-obj-empty.case -// - src/spread/default/member-expr.template -/*--- -description: Object Spread operator on a single empty object (`new` operator) -esid: sec-new-operator-runtime-semantics-evaluation -es6id: 12.3.3.1 -features: [object-spread] -flags: [generated] -info: | - MemberExpression : new MemberExpression Arguments - - 1. Return EvaluateNew(MemberExpression, Arguments). - - 12.3.3.1.1 Runtime Semantics: EvaluateNew - - 6. If arguments is empty, let argList be an empty List. - 7. Else, - a. Let argList be ArgumentListEvaluation of arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -new function(obj) { - assert.sameValue(Object.keys(obj).length, 0); - callCount += 1; -}({...{}}); - -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/super/call-spread-err-mult-err-obj-getter-throws.js b/test/language/expressions/super/call-spread-err-mult-err-obj-getter-throws.js deleted file mode 100644 index 4939371f36fecde48f901c23dab823be74e6502c..0000000000000000000000000000000000000000 --- a/test/language/expressions/super/call-spread-err-mult-err-obj-getter-throws.js +++ /dev/null @@ -1,44 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-err-obj-getter-throws.case -// - src/spread/error/super-call.template -/*--- -description: Object Spread operator results in error when there is an getter that throws an exception (SuperCall) -esid: sec-super-keyword-runtime-semantics-evaluation -es6id: 12.3.5.1 -features: [object-spread] -flags: [generated] -info: | - SuperCall : super Arguments - - 1. Let newTarget be GetNewTarget(). - 2. If newTarget is undefined, throw a ReferenceError exception. - 3. Let func be GetSuperConstructor(). - 4. ReturnIfAbrupt(func). - 5. Let argList be ArgumentListEvaluation of Arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -class Test262ParentClass { - constructor() {} -} - -class Test262ChildClass extends Test262ParentClass { - constructor() { - super({a: 1, ...{ get foo() { throw new Test262Error(); } }}); - } -} - -assert.throws(Test262Error, function() { - new Test262ChildClass(); -}); diff --git a/test/language/expressions/super/call-spread-err-sngl-err-obj-getter-throws.js b/test/language/expressions/super/call-spread-err-sngl-err-obj-getter-throws.js deleted file mode 100644 index 2a5e2826aa0fda11f420ca052c144837e6c79caf..0000000000000000000000000000000000000000 --- a/test/language/expressions/super/call-spread-err-sngl-err-obj-getter-throws.js +++ /dev/null @@ -1,44 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/sngl-err-obj-getter-throws.case -// - src/spread/error/super-call.template -/*--- -description: Object Spread operator results in error when there is an getter that throws an exception (SuperCall) -esid: sec-super-keyword-runtime-semantics-evaluation -es6id: 12.3.5.1 -features: [object-spread] -flags: [generated] -info: | - SuperCall : super Arguments - - 1. Let newTarget be GetNewTarget(). - 2. If newTarget is undefined, throw a ReferenceError exception. - 3. Let func be GetSuperConstructor(). - 4. ReturnIfAbrupt(func). - 5. Let argList be ArgumentListEvaluation of Arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -class Test262ParentClass { - constructor() {} -} - -class Test262ChildClass extends Test262ParentClass { - constructor() { - super({...{ get foo() { throw new Test262Error(); } }}); - } -} - -assert.throws(Test262Error, function() { - new Test262ChildClass(); -}); diff --git a/test/language/expressions/super/call-spread-mult-obj-base.js b/test/language/expressions/super/call-spread-mult-obj-base.js deleted file mode 100644 index f55057eb0b586f7498854a05c884475926eb845e..0000000000000000000000000000000000000000 --- a/test/language/expressions/super/call-spread-mult-obj-base.js +++ /dev/null @@ -1,62 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-obj-base.case -// - src/spread/default/super-call.template -/*--- -description: Object Spread operator following other arguments (SuperCall) -esid: sec-super-keyword-runtime-semantics-evaluation -es6id: 12.3.5.1 -features: [object-spread] -flags: [generated] -includes: [propertyHelper.js] -info: | - SuperCall : super Arguments - - 1. Let newTarget be GetNewTarget(). - 2. If newTarget is undefined, throw a ReferenceError exception. - 3. Let func be GetSuperConstructor(). - 4. ReturnIfAbrupt(func). - 5. Let argList be ArgumentListEvaluation of Arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -class Test262ParentClass { - constructor(obj) { - assert.sameValue(obj.a, 1); - assert.sameValue(obj.b, 2); - assert.sameValue(obj.c, 3); - assert.sameValue(obj.d, 4); - assert.sameValue(Object.keys(obj).length, 4); - - verifyEnumerable(obj, "c"); - verifyWritable(obj, "c"); - verifyConfigurable(obj, "c"); - - verifyEnumerable(obj, "d"); - verifyWritable(obj, "d"); - verifyConfigurable(obj, "d"); - - callCount += 1; - } -} - -class Test262ChildClass extends Test262ParentClass { - constructor() { - super({a: 1, b: 2, ...{c: 3, d: 4}}); - } -} - -new Test262ChildClass(); -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/super/call-spread-mult-obj-empty.js b/test/language/expressions/super/call-spread-mult-obj-empty.js deleted file mode 100644 index 43ccc678d198783f57958849d68ec017cfb3702b..0000000000000000000000000000000000000000 --- a/test/language/expressions/super/call-spread-mult-obj-empty.js +++ /dev/null @@ -1,50 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-obj-empty.case -// - src/spread/default/super-call.template -/*--- -description: Object Spread operator following other arguments with empty object (SuperCall) -esid: sec-super-keyword-runtime-semantics-evaluation -es6id: 12.3.5.1 -features: [object-spread] -flags: [generated] -info: | - SuperCall : super Arguments - - 1. Let newTarget be GetNewTarget(). - 2. If newTarget is undefined, throw a ReferenceError exception. - 3. Let func be GetSuperConstructor(). - 4. ReturnIfAbrupt(func). - 5. Let argList be ArgumentListEvaluation of Arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -class Test262ParentClass { - constructor(obj) { - assert.sameValue(obj.a, 1); - assert.sameValue(obj.b, 2); - assert.sameValue(Object.keys(obj).length, 2); - callCount += 1; - } -} - -class Test262ChildClass extends Test262ParentClass { - constructor() { - super({a: 1, b: 2, ...{}}); - } -} - -new Test262ChildClass(); -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/super/call-spread-mult-obj-null-empty-undefined.js b/test/language/expressions/super/call-spread-mult-obj-null-empty-undefined.js deleted file mode 100644 index 34e4866a36a82d216a8000e2e0e3be28011a0540..0000000000000000000000000000000000000000 --- a/test/language/expressions/super/call-spread-mult-obj-null-empty-undefined.js +++ /dev/null @@ -1,53 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/mult-obj-null-empty-undefined.case -// - src/spread/default/super-call.template -/*--- -description: Object Spread operator following other arguments with null, undefined and empty object (SuperCall) -esid: sec-super-keyword-runtime-semantics-evaluation -es6id: 12.3.5.1 -features: [object-spread] -flags: [generated] -includes: [compareArray.js] -info: | - SuperCall : super Arguments - - 1. Let newTarget be GetNewTarget(). - 2. If newTarget is undefined, throw a ReferenceError exception. - 3. Let func be GetSuperConstructor(). - 4. ReturnIfAbrupt(func). - 5. Let argList be ArgumentListEvaluation of Arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -class Test262ParentClass { - constructor(obj) { - assert.sameValue(obj.a, 1); - assert.sameValue(obj.b, 2); - assert.sameValue(obj.c, 3); - assert.sameValue(obj.d, 4); - assert(compareArray(Object.keys(obj), ["a", "b", "c", "d"])); - callCount += 1; - } -} - -class Test262ChildClass extends Test262ParentClass { - constructor() { - super({a: 1, ...null, b: 2, ...undefined, c: 3, ...{}, ...{...{}}, d: 4}); - } -} - -new Test262ChildClass(); -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/super/call-spread-obj-setter-redef.js b/test/language/expressions/super/call-spread-obj-setter-redef.js deleted file mode 100644 index 69f340129fdf08d52ef0255d17911f55a0f86686..0000000000000000000000000000000000000000 --- a/test/language/expressions/super/call-spread-obj-setter-redef.js +++ /dev/null @@ -1,41 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/obj-setter-redef.case -// - src/spread/default/super-call.template -/*--- -description: Setter are not executed when redefined in Object Spread (SuperCall) -esid: sec-super-keyword-runtime-semantics-evaluation -es6id: 12.3.5.1 -features: [object-spread] -flags: [generated] -info: | - SuperCall : super Arguments - - 1. Let newTarget be GetNewTarget(). - 2. If newTarget is undefined, throw a ReferenceError exception. - 3. Let func be GetSuperConstructor(). - 4. ReturnIfAbrupt(func). - 5. Let argList be ArgumentListEvaluation of Arguments. - [...] ----*/ -let executedSetter = false; - - -var callCount = 0; - -class Test262ParentClass { - constructor(obj) { - assert.sameValue(obj.c, 1); - assert.sameValue(executedSetter, false); - assert.sameValue(Object.keys(obj).length, 1); - callCount += 1; - } -} - -class Test262ChildClass extends Test262ParentClass { - constructor() { - super({set c(v) { executedSetter = true; }, ...{c: 1}}); - } -} - -new Test262ChildClass(); -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/super/call-spread-sngl-obj-base.js b/test/language/expressions/super/call-spread-sngl-obj-base.js deleted file mode 100644 index f3892154205a887b86265baccf59614fa2025d03..0000000000000000000000000000000000000000 --- a/test/language/expressions/super/call-spread-sngl-obj-base.js +++ /dev/null @@ -1,59 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/sngl-obj-base.case -// - src/spread/default/super-call.template -/*--- -description: Object Spread operator without other arguments (SuperCall) -esid: sec-super-keyword-runtime-semantics-evaluation -es6id: 12.3.5.1 -features: [object-spread] -flags: [generated] -includes: [propertyHelper.js] -info: | - SuperCall : super Arguments - - 1. Let newTarget be GetNewTarget(). - 2. If newTarget is undefined, throw a ReferenceError exception. - 3. Let func be GetSuperConstructor(). - 4. ReturnIfAbrupt(func). - 5. Let argList be ArgumentListEvaluation of Arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -class Test262ParentClass { - constructor(obj) { - assert.sameValue(obj.c, 3); - assert.sameValue(obj.d, 4); - assert.sameValue(Object.keys(obj).length, 2); - - verifyEnumerable(obj, "c"); - verifyWritable(obj, "c"); - verifyConfigurable(obj, "c"); - - verifyEnumerable(obj, "d"); - verifyWritable(obj, "d"); - verifyConfigurable(obj, "d"); - callCount += 1; - } -} - -class Test262ChildClass extends Test262ParentClass { - constructor() { - super({...{c: 3, d: 4}}); - } -} - -new Test262ChildClass(); -assert.sameValue(callCount, 1); diff --git a/test/language/expressions/super/call-spread-sngl-obj-empty.js b/test/language/expressions/super/call-spread-sngl-obj-empty.js deleted file mode 100644 index ab8162c92e93905da7645d8144336b6d7ee3d82a..0000000000000000000000000000000000000000 --- a/test/language/expressions/super/call-spread-sngl-obj-empty.js +++ /dev/null @@ -1,48 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/spread/sngl-obj-empty.case -// - src/spread/default/super-call.template -/*--- -description: Object Spread operator on a single empty object (SuperCall) -esid: sec-super-keyword-runtime-semantics-evaluation -es6id: 12.3.5.1 -features: [object-spread] -flags: [generated] -info: | - SuperCall : super Arguments - - 1. Let newTarget be GetNewTarget(). - 2. If newTarget is undefined, throw a ReferenceError exception. - 3. Let func be GetSuperConstructor(). - 4. ReturnIfAbrupt(func). - 5. Let argList be ArgumentListEvaluation of Arguments. - [...] - - Pending Runtime Semantics: PropertyDefinitionEvaluation - - PropertyDefinition:...AssignmentExpression - - 1. Let exprValue be the result of evaluating AssignmentExpression. - 2. Let fromValue be GetValue(exprValue). - 3. ReturnIfAbrupt(fromValue). - 4. Let excludedNames be a new empty List. - 5. Return CopyDataProperties(object, fromValue, excludedNames). - ----*/ - -var callCount = 0; - -class Test262ParentClass { - constructor(obj) { - assert.sameValue(Object.keys(obj).length, 0); - callCount += 1; - } -} - -class Test262ChildClass extends Test262ParentClass { - constructor() { - super({...{}}); - } -} - -new Test262ChildClass(); -assert.sameValue(callCount, 1); diff --git a/test/language/statements/for-await-of/async-func-dstr-const-async-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-await-of/async-func-dstr-const-async-obj-ptrn-rest-nested-obj.js deleted file mode 100644 index 5b79371dea5258c807494bc14776e0cd922460f1..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-const-async-obj-ptrn-rest-nested-obj.js +++ /dev/null @@ -1,59 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-const-async.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var obj = {a: 3, b: 4}; - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [{a: 1, b: 2, c: 3, d: 4, e: 5}]; -})(); - -async function fn() { - for await (const {a, b, ...{c, e}} of asyncIter) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-func-dstr-const-async-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-await-of/async-func-dstr-const-async-obj-ptrn-rest-obj-nested-rest.js deleted file mode 100644 index e960685b1114654b552156f7f615c67c62d50abb..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-const-async-obj-ptrn-rest-obj-nested-rest.js +++ /dev/null @@ -1,69 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-const-async.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [{a: 1, b: 2, c: 3, d: 4, e: 5}]; -})(); - -async function fn() { - for await (const {a, b, ...{c, ...rest}} of asyncIter) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-func-dstr-const-async-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-await-of/async-func-dstr-const-async-obj-ptrn-rest-obj-own-property.js deleted file mode 100644 index 95394838f62e88e4c0b2c6322a3f49b96b3579e0..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-const-async-obj-ptrn-rest-obj-own-property.js +++ /dev/null @@ -1,60 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-const-async.template -/*--- -description: Rest object contains just soruce object's own properties (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [o]; -})(); - -async function fn() { - for await (const { x, ...{y , z} } of asyncIter) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-func-dstr-const-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-await-of/async-func-dstr-const-obj-ptrn-rest-nested-obj.js deleted file mode 100644 index 39cafc08f51b005d751207e60c57bad24b3119a8..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-const-obj-ptrn-rest-nested-obj.js +++ /dev/null @@ -1,56 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-const.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var obj = {a: 3, b: 4}; - -var iterCount = 0; - -async function fn() { - for await (const {a, b, ...{c, e}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-func-dstr-const-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-await-of/async-func-dstr-const-obj-ptrn-rest-obj-nested-rest.js deleted file mode 100644 index 2df7a1847a4926b7c325afeb7ee66c5013355688..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-const-obj-ptrn-rest-obj-nested-rest.js +++ /dev/null @@ -1,66 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-const.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ - -var iterCount = 0; - -async function fn() { - for await (const {a, b, ...{c, ...rest}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-func-dstr-const-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-await-of/async-func-dstr-const-obj-ptrn-rest-obj-own-property.js deleted file mode 100644 index 404f73be52606ecee3eccfc4235b9c6b5ee41bd0..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-const-obj-ptrn-rest-obj-own-property.js +++ /dev/null @@ -1,57 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-const.template -/*--- -description: Rest object contains just soruce object's own properties (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var iterCount = 0; - -async function fn() { - for await (const { x, ...{y , z} } of [o]) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-func-dstr-let-async-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-await-of/async-func-dstr-let-async-obj-ptrn-rest-nested-obj.js deleted file mode 100644 index 077519e9d342bb1a4dc9c268100a8c1894bc0f00..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-let-async-obj-ptrn-rest-nested-obj.js +++ /dev/null @@ -1,59 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-let-async.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var obj = {a: 3, b: 4}; - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [{a: 1, b: 2, c: 3, d: 4, e: 5}]; -})(); - -async function fn() { - for await (let {a, b, ...{c, e}} of asyncIter) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-func-dstr-let-async-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-await-of/async-func-dstr-let-async-obj-ptrn-rest-obj-nested-rest.js deleted file mode 100644 index 7906c8d668cac193fc2c55618b029424ac3d404d..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-let-async-obj-ptrn-rest-obj-nested-rest.js +++ /dev/null @@ -1,69 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-let-async.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [{a: 1, b: 2, c: 3, d: 4, e: 5}]; -})(); - -async function fn() { - for await (let {a, b, ...{c, ...rest}} of asyncIter) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-func-dstr-let-async-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-await-of/async-func-dstr-let-async-obj-ptrn-rest-obj-own-property.js deleted file mode 100644 index 1eccbf33dc1038b318218025a711ecf399ba1cae..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-let-async-obj-ptrn-rest-obj-own-property.js +++ /dev/null @@ -1,60 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-let-async.template -/*--- -description: Rest object contains just soruce object's own properties (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [o]; -})(); - -async function fn() { - for await (let { x, ...{y , z} } of asyncIter) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-func-dstr-let-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-await-of/async-func-dstr-let-obj-ptrn-rest-nested-obj.js deleted file mode 100644 index 6bdd1c3f9c2c44851615b123df066d804ed5c392..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-let-obj-ptrn-rest-nested-obj.js +++ /dev/null @@ -1,57 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-let.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var obj = {a: 3, b: 4}; - -var iterCount = 0; - -async function fn() { - for await (let {a, b, ...{c, e}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); - diff --git a/test/language/statements/for-await-of/async-func-dstr-let-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-await-of/async-func-dstr-let-obj-ptrn-rest-obj-nested-rest.js deleted file mode 100644 index 5d7dc9bb07491f3d0bf715322e534c38cd4b0aa2..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-let-obj-ptrn-rest-obj-nested-rest.js +++ /dev/null @@ -1,67 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-let.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ - -var iterCount = 0; - -async function fn() { - for await (let {a, b, ...{c, ...rest}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); - diff --git a/test/language/statements/for-await-of/async-func-dstr-let-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-await-of/async-func-dstr-let-obj-ptrn-rest-obj-own-property.js deleted file mode 100644 index 33981973e2035b6bdb3995a0ffa4ebbb0433cd12..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-let-obj-ptrn-rest-obj-own-property.js +++ /dev/null @@ -1,58 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-let.template -/*--- -description: Rest object contains just soruce object's own properties (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var iterCount = 0; - -async function fn() { - for await (let { x, ...{y , z} } of [o]) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); - diff --git a/test/language/statements/for-await-of/async-func-dstr-var-async-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-await-of/async-func-dstr-var-async-obj-ptrn-rest-nested-obj.js deleted file mode 100644 index da562ea3b1726aa5af1a14eb0b7071e1c17a340e..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-var-async-obj-ptrn-rest-nested-obj.js +++ /dev/null @@ -1,59 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-var-async.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var obj = {a: 3, b: 4}; - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [{a: 1, b: 2, c: 3, d: 4, e: 5}]; -})(); - -async function fn() { - for await (var {a, b, ...{c, e}} of asyncIter) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-func-dstr-var-async-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-await-of/async-func-dstr-var-async-obj-ptrn-rest-obj-nested-rest.js deleted file mode 100644 index 9b4002a25fe8f784061b3ad568a229121d4e9b65..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-var-async-obj-ptrn-rest-obj-nested-rest.js +++ /dev/null @@ -1,69 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-var-async.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [{a: 1, b: 2, c: 3, d: 4, e: 5}]; -})(); - -async function fn() { - for await (var {a, b, ...{c, ...rest}} of asyncIter) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-func-dstr-var-async-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-await-of/async-func-dstr-var-async-obj-ptrn-rest-obj-own-property.js deleted file mode 100644 index 68c6c4ad4247a5f2420a5dedbdbdd354d00179bf..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-var-async-obj-ptrn-rest-obj-own-property.js +++ /dev/null @@ -1,60 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-var-async.template -/*--- -description: Rest object contains just soruce object's own properties (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [o]; -})(); - -async function fn() { - for await (var { x, ...{y , z} } of asyncIter) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-func-dstr-var-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-await-of/async-func-dstr-var-obj-ptrn-rest-nested-obj.js deleted file mode 100644 index f7db9989bdb52a5adf0969cd0cc7d9d3dc0a2df0..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-var-obj-ptrn-rest-nested-obj.js +++ /dev/null @@ -1,54 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-var.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -info: | - IterationStatement : - for await ( var ForBinding of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult, - varBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - 1. Assert: lhs is a ForBinding. - 2. Let status be the result of performing BindingInitialization - for lhs passing nextValue and undefined as the arguments. - [...] ----*/ -var obj = {a: 3, b: 4}; - -var iterCount = 0; - -async function fn() { - for await (var {a, b, ...{c, e}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); - diff --git a/test/language/statements/for-await-of/async-func-dstr-var-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-await-of/async-func-dstr-var-obj-ptrn-rest-obj-nested-rest.js deleted file mode 100644 index 9ff701111d314fa367e18622d6c45c818c31ad46..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-var-obj-ptrn-rest-obj-nested-rest.js +++ /dev/null @@ -1,64 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-var.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( var ForBinding of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult, - varBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - 1. Assert: lhs is a ForBinding. - 2. Let status be the result of performing BindingInitialization - for lhs passing nextValue and undefined as the arguments. - [...] ----*/ - -var iterCount = 0; - -async function fn() { - for await (var {a, b, ...{c, ...rest}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); - diff --git a/test/language/statements/for-await-of/async-func-dstr-var-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-await-of/async-func-dstr-var-obj-ptrn-rest-obj-own-property.js deleted file mode 100644 index c90cae8de000769554548411f8ebcc42ef33c047..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-func-dstr-var-obj-ptrn-rest-obj-own-property.js +++ /dev/null @@ -1,55 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case -// - src/dstr-binding-for-await/default/for-await-of-async-func-var.template -/*--- -description: Rest object contains just soruce object's own properties (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( var ForBinding of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult, - varBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - 1. Assert: lhs is a ForBinding. - 2. Let status be the result of performing BindingInitialization - for lhs passing nextValue and undefined as the arguments. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var iterCount = 0; - -async function fn() { - for await (var { x, ...{y , z} } of [o]) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - - iterCount += 1; - } -} - -fn() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); - diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-async-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-await-of/async-gen-dstr-const-async-obj-ptrn-rest-nested-obj.js deleted file mode 100644 index 8bb992f7c0c8a42968e15d37a5b34d8632b89f54..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-const-async-obj-ptrn-rest-nested-obj.js +++ /dev/null @@ -1,59 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-const-async.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var obj = {a: 3, b: 4}; - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [{a: 1, b: 2, c: 3, d: 4, e: 5}]; -})(); - -async function *fn() { - for await (const {a, b, ...{c, e}} of asyncIter) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-async-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-await-of/async-gen-dstr-const-async-obj-ptrn-rest-obj-nested-rest.js deleted file mode 100644 index 9282e01d4e51ffc0033d4bd265ede683c4459495..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-const-async-obj-ptrn-rest-obj-nested-rest.js +++ /dev/null @@ -1,69 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-const-async.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [{a: 1, b: 2, c: 3, d: 4, e: 5}]; -})(); - -async function *fn() { - for await (const {a, b, ...{c, ...rest}} of asyncIter) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-async-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-await-of/async-gen-dstr-const-async-obj-ptrn-rest-obj-own-property.js deleted file mode 100644 index b287d8119ecf0c472f3c0b07bfc3656d07fc61aa..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-const-async-obj-ptrn-rest-obj-own-property.js +++ /dev/null @@ -1,60 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-const-async.template -/*--- -description: Rest object contains just soruce object's own properties (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [o]; -})(); - -async function *fn() { - for await (const { x, ...{y , z} } of asyncIter) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-await-of/async-gen-dstr-const-obj-ptrn-rest-nested-obj.js deleted file mode 100644 index 8f8f338c562de7d87389c607ffbb1e6a4d24ff9c..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-const-obj-ptrn-rest-nested-obj.js +++ /dev/null @@ -1,56 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-const.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var obj = {a: 3, b: 4}; - -var iterCount = 0; - -async function *fn() { - for await (const {a, b, ...{c, e}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-await-of/async-gen-dstr-const-obj-ptrn-rest-obj-nested-rest.js deleted file mode 100644 index cefb9ba33c7455f2b960dfe86267556efbde6789..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-const-obj-ptrn-rest-obj-nested-rest.js +++ /dev/null @@ -1,66 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-const.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ - -var iterCount = 0; - -async function *fn() { - for await (const {a, b, ...{c, ...rest}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-await-of/async-gen-dstr-const-obj-ptrn-rest-obj-own-property.js deleted file mode 100644 index e9ac410a5acd4e974f8849bf841d340a57e47ecb..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-const-obj-ptrn-rest-obj-own-property.js +++ /dev/null @@ -1,57 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-const.template -/*--- -description: Rest object contains just soruce object's own properties (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var iterCount = 0; - -async function *fn() { - for await (const { x, ...{y , z} } of [o]) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-async-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-await-of/async-gen-dstr-let-async-obj-ptrn-rest-nested-obj.js deleted file mode 100644 index d2539313d5195e92a876f6f71cf9d5b338b81fea..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-let-async-obj-ptrn-rest-nested-obj.js +++ /dev/null @@ -1,59 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-let-async.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var obj = {a: 3, b: 4}; - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [{a: 1, b: 2, c: 3, d: 4, e: 5}]; -})(); - -async function *fn() { - for await (let {a, b, ...{c, e}} of asyncIter) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-async-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-await-of/async-gen-dstr-let-async-obj-ptrn-rest-obj-nested-rest.js deleted file mode 100644 index c0f58913f271fced7426348dc50fc63e9401da92..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-let-async-obj-ptrn-rest-obj-nested-rest.js +++ /dev/null @@ -1,69 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-let-async.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [{a: 1, b: 2, c: 3, d: 4, e: 5}]; -})(); - -async function *fn() { - for await (let {a, b, ...{c, ...rest}} of asyncIter) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-async-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-await-of/async-gen-dstr-let-async-obj-ptrn-rest-obj-own-property.js deleted file mode 100644 index 0b54ea246bdfa1e60eca68d3e904103578ce1d3c..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-let-async-obj-ptrn-rest-obj-own-property.js +++ /dev/null @@ -1,60 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-let-async.template -/*--- -description: Rest object contains just soruce object's own properties (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [o]; -})(); - -async function *fn() { - for await (let { x, ...{y , z} } of asyncIter) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-await-of/async-gen-dstr-let-obj-ptrn-rest-nested-obj.js deleted file mode 100644 index 368976556313fcedd787278e56bc50d662f4ea04..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-let-obj-ptrn-rest-nested-obj.js +++ /dev/null @@ -1,57 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-let.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var obj = {a: 3, b: 4}; - -var iterCount = 0; - -async function *fn() { - for await (let {a, b, ...{c, e}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); - diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-await-of/async-gen-dstr-let-obj-ptrn-rest-obj-nested-rest.js deleted file mode 100644 index 06b449bd3e815e66d65509ececb104c5389a2875..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-let-obj-ptrn-rest-obj-nested-rest.js +++ /dev/null @@ -1,67 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-let.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ - -var iterCount = 0; - -async function *fn() { - for await (let {a, b, ...{c, ...rest}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); - diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-await-of/async-gen-dstr-let-obj-ptrn-rest-obj-own-property.js deleted file mode 100644 index 8c451fc5a7592caeeb6b0385ea449d0cc1dc674e..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-let-obj-ptrn-rest-obj-own-property.js +++ /dev/null @@ -1,58 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-let.template -/*--- -description: Rest object contains just soruce object's own properties (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var iterCount = 0; - -async function *fn() { - for await (let { x, ...{y , z} } of [o]) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); - diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-async-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-await-of/async-gen-dstr-var-async-obj-ptrn-rest-nested-obj.js deleted file mode 100644 index 4c31804ef73b9abf332e4ba356468ebbb61373e9..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-var-async-obj-ptrn-rest-nested-obj.js +++ /dev/null @@ -1,59 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-var-async.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var obj = {a: 3, b: 4}; - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [{a: 1, b: 2, c: 3, d: 4, e: 5}]; -})(); - -async function *fn() { - for await (var {a, b, ...{c, e}} of asyncIter) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-async-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-await-of/async-gen-dstr-var-async-obj-ptrn-rest-obj-nested-rest.js deleted file mode 100644 index 02f50138f34aadee10eb5098a3f6d159f5958b38..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-var-async-obj-ptrn-rest-obj-nested-rest.js +++ /dev/null @@ -1,69 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-var-async.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [{a: 1, b: 2, c: 3, d: 4, e: 5}]; -})(); - -async function *fn() { - for await (var {a, b, ...{c, ...rest}} of asyncIter) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-async-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-await-of/async-gen-dstr-var-async-obj-ptrn-rest-obj-own-property.js deleted file mode 100644 index f80efb1d2cfbbe8b8a8498509e9045ad5ce75d1c..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-var-async-obj-ptrn-rest-obj-own-property.js +++ /dev/null @@ -1,60 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-var-async.template -/*--- -description: Rest object contains just soruce object's own properties (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( ForDeclaration of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, - lexicalBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - [...] - iii. Else, - 1. Assert: lhsKind is lexicalBinding. - 2. Assert: lhs is a ForDeclaration. - 3. Let status be the result of performing BindingInitialization - for lhs passing nextValue and iterationEnv as arguments. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var iterCount = 0; -var asyncIter = (async function*() { - yield* [o]; -})(); - -async function *fn() { - for await (var { x, ...{y , z} } of asyncIter) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-await-of/async-gen-dstr-var-obj-ptrn-rest-nested-obj.js deleted file mode 100644 index 1936e3ffe92ae5f8791892b115eb5650adc76134..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-var-obj-ptrn-rest-nested-obj.js +++ /dev/null @@ -1,54 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-nested-obj.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-var.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -info: | - IterationStatement : - for await ( var ForBinding of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult, - varBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - 1. Assert: lhs is a ForBinding. - 2. Let status be the result of performing BindingInitialization - for lhs passing nextValue and undefined as the arguments. - [...] ----*/ -var obj = {a: 3, b: 4}; - -var iterCount = 0; - -async function *fn() { - for await (var {a, b, ...{c, e}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); - diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-await-of/async-gen-dstr-var-obj-ptrn-rest-obj-nested-rest.js deleted file mode 100644 index a0a0fd71ef3d694e68e46a133148cc1dccfb0dd3..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-var-obj-ptrn-rest-obj-nested-rest.js +++ /dev/null @@ -1,64 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-nested-rest.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-var.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( var ForBinding of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult, - varBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - 1. Assert: lhs is a ForBinding. - 2. Let status be the result of performing BindingInitialization - for lhs passing nextValue and undefined as the arguments. - [...] ----*/ - -var iterCount = 0; - -async function *fn() { - for await (var {a, b, ...{c, ...rest}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); - diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-await-of/async-gen-dstr-var-obj-ptrn-rest-obj-own-property.js deleted file mode 100644 index 204323c1ab334392bbd39cc990c094d709f26643..0000000000000000000000000000000000000000 --- a/test/language/statements/for-await-of/async-gen-dstr-var-obj-ptrn-rest-obj-own-property.js +++ /dev/null @@ -1,55 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-binding-for-await/obj-ptrn-rest-obj-own-property.case -// - src/dstr-binding-for-await/default/for-await-of-async-gen-var.template -/*--- -description: Rest object contains just soruce object's own properties (for-await-of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -features: [object-rest, destructuring-binding, async-iteration] -flags: [generated, async] -includes: [propertyHelper.js] -info: | - IterationStatement : - for await ( var ForBinding of AssignmentExpression ) Statement - - [...] - 2. Return ? ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult, - varBinding, labelSet, async). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. Let destructuring be IsDestructuring of lhs. - [...] - 6. Repeat - [...] - j. If destructuring is false, then - [...] - k. Else - i. If lhsKind is assignment, then - [...] - ii. Else if lhsKind is varBinding, then - 1. Assert: lhs is a ForBinding. - 2. Let status be the result of performing BindingInitialization - for lhs passing nextValue and undefined as the arguments. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var iterCount = 0; - -async function *fn() { - for await (var { x, ...{y , z} } of [o]) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - - iterCount += 1; - } -} - -fn().next() - .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE) - .then($DONE, $DONE); - diff --git a/test/language/statements/for-of/dstr-obj-rest-nested-obj-nested-rest.js b/test/language/statements/for-of/dstr-obj-rest-nested-obj-nested-rest.js deleted file mode 100644 index 5870af017f6462e9998042ea80588ea50e8798a9..0000000000000000000000000000000000000000 --- a/test/language/statements/for-of/dstr-obj-rest-nested-obj-nested-rest.js +++ /dev/null @@ -1,52 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-assignment/obj-rest-nested-obj-nested-rest.case -// - src/dstr-assignment/default/for-of.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (For..of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -es6id: 13.7.5.11 -features: [object-rest, destructuring-binding] -flags: [generated] -includes: [propertyHelper.js] -info: | - IterationStatement : - for ( LeftHandSideExpression of AssignmentExpression ) Statement - - 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », - AssignmentExpression, iterate). - 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, - keyResult, assignment, labelSet). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. If destructuring is true and if lhsKind is assignment, then - a. Assert: lhs is a LeftHandSideExpression. - b. Let assignmentPattern be the parse of the source text corresponding to - lhs using AssignmentPattern as the goal symbol. - [...] ----*/ -var a, b, c, rest; - -var counter = 0; - -for ({a, b, ...{c, ...rest}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - - assert.sameValue(rest.d, 4); - assert.sameValue(rest.e, 5); - - verifyEnumerable(rest, "d"); - verifyWritable(rest, "d"); - verifyConfigurable(rest, "d"); - - verifyEnumerable(rest, "e"); - verifyWritable(rest, "e"); - verifyConfigurable(rest, "e"); - - counter += 1; -} - -assert.sameValue(counter, 1); diff --git a/test/language/statements/for-of/dstr-obj-rest-nested-obj.js b/test/language/statements/for-of/dstr-obj-rest-nested-obj.js deleted file mode 100644 index 0eba170b8b5682c3ea9ad52276ead8e6bc7ef0cd..0000000000000000000000000000000000000000 --- a/test/language/statements/for-of/dstr-obj-rest-nested-obj.js +++ /dev/null @@ -1,42 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-assignment/obj-rest-nested-obj.case -// - src/dstr-assignment/default/for-of.template -/*--- -description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (For..of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -es6id: 13.7.5.11 -features: [object-rest, destructuring-binding] -flags: [generated] -info: | - IterationStatement : - for ( LeftHandSideExpression of AssignmentExpression ) Statement - - 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », - AssignmentExpression, iterate). - 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, - keyResult, assignment, labelSet). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. If destructuring is true and if lhsKind is assignment, then - a. Assert: lhs is a LeftHandSideExpression. - b. Let assignmentPattern be the parse of the source text corresponding to - lhs using AssignmentPattern as the goal symbol. - [...] ----*/ -var a, b, c, d, e; - -var counter = 0; - -for ({a, b, ...{c, e}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) { - assert.sameValue(a, 1); - assert.sameValue(b, 2); - assert.sameValue(c, 3); - assert.sameValue(e, 5); - assert.sameValue(d, undefined); - - counter += 1; -} - -assert.sameValue(counter, 1); diff --git a/test/language/statements/for-of/dstr-obj-rest-obj-own-property.js b/test/language/statements/for-of/dstr-obj-rest-obj-own-property.js deleted file mode 100644 index 4c8c76257ab638bf136d9ce8d394b6007c50da0a..0000000000000000000000000000000000000000 --- a/test/language/statements/for-of/dstr-obj-rest-obj-own-property.js +++ /dev/null @@ -1,43 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/dstr-assignment/obj-rest-obj-own-property.case -// - src/dstr-assignment/default/for-of.template -/*--- -description: Rest object contains just source object's own properties (For..of statement) -esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation -es6id: 13.7.5.11 -features: [object-rest, destructuring-binding] -flags: [generated] -info: | - IterationStatement : - for ( LeftHandSideExpression of AssignmentExpression ) Statement - - 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », - AssignmentExpression, iterate). - 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, - keyResult, assignment, labelSet). - - 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation - - [...] - 4. If destructuring is true and if lhsKind is assignment, then - a. Assert: lhs is a LeftHandSideExpression. - b. Let assignmentPattern be the parse of the source text corresponding to - lhs using AssignmentPattern as the goal symbol. - [...] ----*/ -var o = Object.create({ x: 1, y: 2 }); -o.z = 3; - -var x, y, z; - -var counter = 0; - -for ({ x, ...{y , z} } of [o]) { - assert.sameValue(x, 1); - assert.sameValue(y, undefined); - assert.sameValue(z, 3); - - counter += 1; -} - -assert.sameValue(counter, 1);