diff --git a/features.txt b/features.txt index 9d19bfaa246de399951c0e6c41094c3df7f6e112..39092a57bf3edac2eb04779ce9950bfef2e0e012 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 0e057a952a66ac1877cd9b69b448060c9603856b..a9512ff35f33eb600f265e6bee4497688ef239c3 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 093e9599d47f4e976ce745dd6171f6de8fade78d..95f5aeffe7ad41ac57d7a5df489f342af3d8a4a6 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 37caee8574ad9cf7e2027a4a469534a82ae1a5d6..a31e0a1a5631c210e797c6119de6f48bf7bbbc6a 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 1f16e513a8fd06b2896081c40eddcdd21f21a3e1..4ef59290bdcd05a7db91ea85375e06a888d4d3ff 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 326e5173c82f09346f30276866a29a83491c7fa1..53deaa1e564c38c117b5c10dc6d0d53d9557a1c4 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 4795e3b6e45053a52fc7bbd52ce9eea3b1974c64..6d47d0233547094902d3ee1ef774cc5ca23d44b2 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 ba4c6d26e583a2005f3ad6391a52dddb52e639c7..21e44b6818612aa5dc983af54aea15bc0dce7e14 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 83ebe5d6898160161e46fe8523956431d549d4cf..5a4e966e25625fae3245897d023dbabf4257aadb 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 f682045f1eb45a7a442ef6188a2fcc48cd7b6361..95b95ca7a387b53847bd4334d9df923087f84882 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 f423ed2d7fc1e3ad39829a14fc99fe1d1dd16632..f9ed97b058cea7fcd7c0402b7eb4efdaec8f60f1 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 7d30a6553cbd692790f710b2be9540b324e908e7..ce4153b87cd0069ebe709c130f50ecc4f92423cc 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 4e5195e434801309987b681eb0e4b50d2234a5ef..cbf2ae4b07b01ae22c8cd893998e25a702282da7 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 97f031e2d3001da2113dc60e730dc209cdb1d53e..356cab6606e3f34ac3728c49f5e4d66363b8c070 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 9b3f2ff8da93efbb7bfe1a6a14a13d8fad4b92f6..704e81158a7b0ac35ffbf6d74ff67defaca8a52a 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 bcd55ac1d32e6de5d64014351caefedbb0c513f9..365c7e11cef4863b711666676f78ce73df3e234a 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 19772bbcbbe45b65ede2c960af4aad338e968786..5f6f59d2f0fe92ea4571486bf842ef9c0fc3a8de 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 31a239e792ee970659b2c47be7a656dc9862e34c..fc8e8768591b3c5879137c810b432d8c969a92c5 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 685b902e3f462f3eab5e503c3f2725cb2bc32144..ef8fb3a53241f9209a133fb1079b99612eb2f121 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 bccb6d2a8864d03c65c87a536c0d2ce56fe860c9..3e711223f75bfd1d0d042ca6cdab0571c33a9c85 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 4af7c097733e8c7faed61ae457be58771745780d..0c4dfcd593290c0e19f81daa0a85bd32e96ff80a 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 a3bdc691f1b1c50332451de0dbbe45ca572d5833..f7f386148bbb3fd32d014c951439f630c2187184 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 ad76cedb399173eb99c7738ffece0ccb15296aee..9bcf98ae0c23a2b8366afbfd6b0a529580b13bd4 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() {