From 041da54c02ae7d17edb8c134ab7691c4f643bafe Mon Sep 17 00:00:00 2001 From: Michael Ficarra Date: Fri, 5 Jan 2018 11:55:19 -0800 Subject: [PATCH] add flatten/flatMap to features.txt and mark appropriate tests --- features.txt | 5 +++++ test/built-ins/Array/prototype/flatMap/array-like-objects.js | 1 + .../Array/prototype/flatMap/bound-function-argument.js | 1 + test/built-ins/Array/prototype/flatMap/depth-always-one.js | 1 + test/built-ins/Array/prototype/flatMap/length.js | 1 + test/built-ins/Array/prototype/flatMap/name.js | 1 + .../Array/prototype/flatMap/non-callable-argument-throws.js | 1 + .../Array/prototype/flatMap/non-object-ctor-throws.js | 1 + .../Array/prototype/flatMap/null-undefined-input-throws.js | 1 + test/built-ins/Array/prototype/flatMap/thisArg-argument.js | 1 + test/built-ins/Array/prototype/flatten/array-like-objects.js | 1 + .../built-ins/Array/prototype/flatten/bound-function-call.js | 1 + .../Array/prototype/flatten/empty-array-elements.js | 1 + .../Array/prototype/flatten/empty-object-elements.js | 1 + test/built-ins/Array/prototype/flatten/length.js | 1 + test/built-ins/Array/prototype/flatten/name.js | 1 + .../prototype/flatten/non-numeric-depth-should-not-throw.js | 1 + .../Array/prototype/flatten/non-object-ctor-throws.js | 1 + .../Array/prototype/flatten/null-undefined-elements.js | 2 ++ .../Array/prototype/flatten/null-undefined-input-throws.js | 1 + test/built-ins/Array/prototype/flatten/positive-infinity.js | 1 + test/built-ins/Array/prototype/flatten/prop-desc.js | 1 + .../flatten/symbol-object-create-null-depth-throws.js | 1 + 23 files changed, 28 insertions(+) diff --git a/features.txt b/features.txt index 9d19bfaa24..39092a57bf 100644 --- a/features.txt +++ b/features.txt @@ -55,6 +55,11 @@ regexp-unicode-property-escapes Atomics SharedArrayBuffer +# Array.prototype.flatten and Array.prototype.flatMap +# https://github.com/tc39/proposal-flatMap +Array.prototype.flatten +Array.prototype.flatMap + # Standard language features # # Language features that have been included in a published version of the diff --git a/test/built-ins/Array/prototype/flatMap/array-like-objects.js b/test/built-ins/Array/prototype/flatMap/array-like-objects.js index 0e057a952a..a9512ff35f 100644 --- a/test/built-ins/Array/prototype/flatMap/array-like-objects.js +++ b/test/built-ins/Array/prototype/flatMap/array-like-objects.js @@ -5,6 +5,7 @@ esid: sec-array.prototype.flatMap description: > array-like objects can be flattened includes: [compareArray.js] +features: [Array.prototype.flatMap] ---*/ function getArgumentsObject() { diff --git a/test/built-ins/Array/prototype/flatMap/bound-function-argument.js b/test/built-ins/Array/prototype/flatMap/bound-function-argument.js index 093e9599d4..95f5aeffe7 100644 --- a/test/built-ins/Array/prototype/flatMap/bound-function-argument.js +++ b/test/built-ins/Array/prototype/flatMap/bound-function-argument.js @@ -5,6 +5,7 @@ esid: sec-array.prototype.flatMap description: > Behavior when given a bound function includes: [compareArray.js] +features: [Array.prototype.flatMap] ---*/ var a = [0, 0]; diff --git a/test/built-ins/Array/prototype/flatMap/depth-always-one.js b/test/built-ins/Array/prototype/flatMap/depth-always-one.js index 37caee8574..a31e0a1a56 100644 --- a/test/built-ins/Array/prototype/flatMap/depth-always-one.js +++ b/test/built-ins/Array/prototype/flatMap/depth-always-one.js @@ -5,6 +5,7 @@ esid: sec-array.prototype.flatMap description: > Behavior when array is depth more than 1 includes: [compareArray.js] +features: [Array.prototype.flatMap] ---*/ assert.compareArray([1, 2].flatMap(function(e) { diff --git a/test/built-ins/Array/prototype/flatMap/length.js b/test/built-ins/Array/prototype/flatMap/length.js index 1f16e513a8..4ef59290bd 100644 --- a/test/built-ins/Array/prototype/flatMap/length.js +++ b/test/built-ins/Array/prototype/flatMap/length.js @@ -6,6 +6,7 @@ description: Array.prototype.flatMap.length value and descriptor. info: > 17 ECMAScript Standard Built-in Objects includes: [propertyHelper.js] +features: [Array.prototype.flatMap] ---*/ assert.sameValue( diff --git a/test/built-ins/Array/prototype/flatMap/name.js b/test/built-ins/Array/prototype/flatMap/name.js index 326e5173c8..53deaa1e56 100644 --- a/test/built-ins/Array/prototype/flatMap/name.js +++ b/test/built-ins/Array/prototype/flatMap/name.js @@ -6,6 +6,7 @@ description: Array.prototype.flatmap name value and descriptor. info: > 17 ECMAScript Standard Built-in Objects includes: [propertyHelper.js] +features: [Array.prototype.flatMap] ---*/ assert.sameValue( diff --git a/test/built-ins/Array/prototype/flatMap/non-callable-argument-throws.js b/test/built-ins/Array/prototype/flatMap/non-callable-argument-throws.js index 4795e3b6e4..6d47d02335 100644 --- a/test/built-ins/Array/prototype/flatMap/non-callable-argument-throws.js +++ b/test/built-ins/Array/prototype/flatMap/non-callable-argument-throws.js @@ -4,6 +4,7 @@ esid: sec-array.prototype.flatMap description: > non callable argument should throw TypeError Exception +features: [Array.prototype.flatMap] ---*/ assert.throws(TypeError, function () { diff --git a/test/built-ins/Array/prototype/flatMap/non-object-ctor-throws.js b/test/built-ins/Array/prototype/flatMap/non-object-ctor-throws.js index ba4c6d26e5..21e44b6818 100644 --- a/test/built-ins/Array/prototype/flatMap/non-object-ctor-throws.js +++ b/test/built-ins/Array/prototype/flatMap/non-object-ctor-throws.js @@ -5,6 +5,7 @@ esid: sec-array.prototype.flatMap description: > Behavior when `constructor` property is neither an Object nor undefined - if IsConstructor(C) is false, throw a TypeError exception. +features: [Array.prototype.flatMap] ---*/ var a = []; diff --git a/test/built-ins/Array/prototype/flatMap/null-undefined-input-throws.js b/test/built-ins/Array/prototype/flatMap/null-undefined-input-throws.js index 83ebe5d689..5a4e966e25 100644 --- a/test/built-ins/Array/prototype/flatMap/null-undefined-input-throws.js +++ b/test/built-ins/Array/prototype/flatMap/null-undefined-input-throws.js @@ -4,6 +4,7 @@ esid: sec-array.prototype.flatMap description: > null or undefined should throw TypeError Exception +features: [Array.prototype.flatMap] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/Array/prototype/flatMap/thisArg-argument.js b/test/built-ins/Array/prototype/flatMap/thisArg-argument.js index f682045f1e..95b95ca7a3 100644 --- a/test/built-ins/Array/prototype/flatMap/thisArg-argument.js +++ b/test/built-ins/Array/prototype/flatMap/thisArg-argument.js @@ -7,6 +7,7 @@ description: > Array.prototype.flatMap ( mapperFunction [ , thisArg ] ) includes: [compareArray.js] flags: [onlyStrict] +features: [Array.prototype.flatMap] ---*/ var a = {}; diff --git a/test/built-ins/Array/prototype/flatten/array-like-objects.js b/test/built-ins/Array/prototype/flatten/array-like-objects.js index f423ed2d7f..f9ed97b058 100644 --- a/test/built-ins/Array/prototype/flatten/array-like-objects.js +++ b/test/built-ins/Array/prototype/flatten/array-like-objects.js @@ -5,6 +5,7 @@ esid: sec-array.prototype.flatten description: > array-like objects can be flattened includes: [compareArray.js] +features: [Array.prototype.flatten] ---*/ function getArgumentsObject() { diff --git a/test/built-ins/Array/prototype/flatten/bound-function-call.js b/test/built-ins/Array/prototype/flatten/bound-function-call.js index 7d30a6553c..ce4153b87c 100644 --- a/test/built-ins/Array/prototype/flatten/bound-function-call.js +++ b/test/built-ins/Array/prototype/flatten/bound-function-call.js @@ -5,6 +5,7 @@ esid: sec-array.prototype.flatten description: > using bound functions includes: [compareArray.js] +features: [Array.prototype.flatten] ---*/ var a = [[0],[1]]; diff --git a/test/built-ins/Array/prototype/flatten/empty-array-elements.js b/test/built-ins/Array/prototype/flatten/empty-array-elements.js index 4e5195e434..cbf2ae4b07 100644 --- a/test/built-ins/Array/prototype/flatten/empty-array-elements.js +++ b/test/built-ins/Array/prototype/flatten/empty-array-elements.js @@ -5,6 +5,7 @@ esid: sec-array.prototype.flatten description: > arrays with empty arrays elements includes: [compareArray.js] +features: [Array.prototype.flatten] ---*/ var a = {}; diff --git a/test/built-ins/Array/prototype/flatten/empty-object-elements.js b/test/built-ins/Array/prototype/flatten/empty-object-elements.js index 97f031e2d3..356cab6606 100644 --- a/test/built-ins/Array/prototype/flatten/empty-object-elements.js +++ b/test/built-ins/Array/prototype/flatten/empty-object-elements.js @@ -5,6 +5,7 @@ esid: sec-array.prototype.flatten description: > arrays with empty object elements includes: [compareArray.js] +features: [Array.prototype.flatten] ---*/ var a = {}, b = {}; diff --git a/test/built-ins/Array/prototype/flatten/length.js b/test/built-ins/Array/prototype/flatten/length.js index 9b3f2ff8da..704e81158a 100644 --- a/test/built-ins/Array/prototype/flatten/length.js +++ b/test/built-ins/Array/prototype/flatten/length.js @@ -6,6 +6,7 @@ description: Array.prototype.flatten.length value and descriptor. info: > 17 ECMAScript Standard Built-in Objects includes: [propertyHelper.js] +features: [Array.prototype.flatten] ---*/ assert.sameValue( diff --git a/test/built-ins/Array/prototype/flatten/name.js b/test/built-ins/Array/prototype/flatten/name.js index bcd55ac1d3..365c7e11ce 100644 --- a/test/built-ins/Array/prototype/flatten/name.js +++ b/test/built-ins/Array/prototype/flatten/name.js @@ -7,6 +7,7 @@ description: > info: > 17 ECMAScript Standard Built-in Objects includes: [propertyHelper.js] +features: [Array.prototype.flatten] ---*/ assert.sameValue( diff --git a/test/built-ins/Array/prototype/flatten/non-numeric-depth-should-not-throw.js b/test/built-ins/Array/prototype/flatten/non-numeric-depth-should-not-throw.js index 19772bbcbb..5f6f59d2f0 100644 --- a/test/built-ins/Array/prototype/flatten/non-numeric-depth-should-not-throw.js +++ b/test/built-ins/Array/prototype/flatten/non-numeric-depth-should-not-throw.js @@ -5,6 +5,7 @@ esid: sec-array.prototype.flatten description: > if the argument is a string or object, the depthNum is 0 includes: [compareArray.js] +features: [Array.prototype.flatten] ---*/ var a = [1, [2]]; diff --git a/test/built-ins/Array/prototype/flatten/non-object-ctor-throws.js b/test/built-ins/Array/prototype/flatten/non-object-ctor-throws.js index 31a239e792..fc8e876859 100644 --- a/test/built-ins/Array/prototype/flatten/non-object-ctor-throws.js +++ b/test/built-ins/Array/prototype/flatten/non-object-ctor-throws.js @@ -5,6 +5,7 @@ esid: sec-array.prototype.flatten description: > Behavior when `constructor` property is neither an Object nor undefined - if IsConstructor(C) is false, throw a TypeError exception. +features: [Array.prototype.flatten] ---*/ var a = []; diff --git a/test/built-ins/Array/prototype/flatten/null-undefined-elements.js b/test/built-ins/Array/prototype/flatten/null-undefined-elements.js index 685b902e3f..ef8fb3a532 100644 --- a/test/built-ins/Array/prototype/flatten/null-undefined-elements.js +++ b/test/built-ins/Array/prototype/flatten/null-undefined-elements.js @@ -5,7 +5,9 @@ esid: sec-array.prototype.flatten description: > arrays with null, and undefined includes: [compareArray.js] +features: [Array.prototype.flatten] ---*/ + var a = [void 0]; assert(compareArray([1, null, void 0].flatten(), [1, null, undefined])); diff --git a/test/built-ins/Array/prototype/flatten/null-undefined-input-throws.js b/test/built-ins/Array/prototype/flatten/null-undefined-input-throws.js index bccb6d2a88..3e711223f7 100644 --- a/test/built-ins/Array/prototype/flatten/null-undefined-input-throws.js +++ b/test/built-ins/Array/prototype/flatten/null-undefined-input-throws.js @@ -4,6 +4,7 @@ esid: sec-array.prototype.flatten description: > null or undefined should throw TypeError Exception +features: [Array.prototype.flatten] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/Array/prototype/flatten/positive-infinity.js b/test/built-ins/Array/prototype/flatten/positive-infinity.js index 4af7c09773..0c4dfcd593 100644 --- a/test/built-ins/Array/prototype/flatten/positive-infinity.js +++ b/test/built-ins/Array/prototype/flatten/positive-infinity.js @@ -5,6 +5,7 @@ esid: sec-array.prototype.flatten description: > if the argument is a positive infinity, the depthNum is max depth of the array includes: [compareArray.js] +features: [Array.prototype.flatten] ---*/ var a = [1, [2, [3, [4]]]] diff --git a/test/built-ins/Array/prototype/flatten/prop-desc.js b/test/built-ins/Array/prototype/flatten/prop-desc.js index a3bdc691f1..f7f386148b 100644 --- a/test/built-ins/Array/prototype/flatten/prop-desc.js +++ b/test/built-ins/Array/prototype/flatten/prop-desc.js @@ -7,6 +7,7 @@ description: Property type and descriptor. info: > 17 ECMAScript Standard Built-in Objects includes: [propertyHelper.js] +features: [Array.prototype.flatten] ---*/ assert.sameValue( diff --git a/test/built-ins/Array/prototype/flatten/symbol-object-create-null-depth-throws.js b/test/built-ins/Array/prototype/flatten/symbol-object-create-null-depth-throws.js index ad76cedb39..9bcf98ae0c 100644 --- a/test/built-ins/Array/prototype/flatten/symbol-object-create-null-depth-throws.js +++ b/test/built-ins/Array/prototype/flatten/symbol-object-create-null-depth-throws.js @@ -4,6 +4,7 @@ esid: sec-array.prototype.flatten description: > if the argument is a Symbol or Object null, it throws exception +features: [Array.prototype.flatten] ---*/ assert.throws(TypeError, function() {