From 0b36f270009f8abd34f46e040a68456a530b6a5e Mon Sep 17 00:00:00 2001
From: Rick Waldron <waldron.rick@gmail.com>
Date: Tue, 24 Apr 2018 14:52:19 -0400
Subject: [PATCH] Features: add missing "destructuring-binding" features;
 remove "default-arg" (#1521)

---
 features.txt                                                  | 1 -
 .../binding/initialization-requires-object-coercible-null.js  | 1 +
 .../initialization-requires-object-coercible-undefined.js     | 1 +
 ...tialization-returns-normal-completion-for-empty-objects.js | 1 +
 .../binding/syntax/array-elements-with-initializer.js         | 1 +
 .../binding/syntax/array-elements-with-object-patterns.js     | 1 +
 .../binding/syntax/array-elements-without-initializer.js      | 1 +
 .../binding/syntax/array-pattern-with-elisions.js             | 1 +
 .../binding/syntax/array-pattern-with-no-elements.js          | 1 +
 .../destructuring/binding/syntax/array-rest-elements.js       | 1 +
 .../binding/syntax/object-pattern-with-no-property-list.js    | 1 +
 .../binding/syntax/property-list-bindings-elements.js         | 1 +
 .../syntax/property-list-followed-by-a-single-comma.js        | 1 +
 .../binding/syntax/property-list-single-name-bindings.js      | 1 +
 .../binding/syntax/property-list-with-property-list.js        | 1 +
 .../binding/syntax/recursive-array-and-object-patterns.js     | 1 +
 .../object/method-definition/generator-super-prop-param.js    | 4 ++--
 17 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/features.txt b/features.txt
index 160fe784a4..cfe2853a6c 100644
--- a/features.txt
+++ b/features.txt
@@ -102,7 +102,6 @@ DataView.prototype.getInt8
 DataView.prototype.getUint16
 DataView.prototype.getUint32
 DataView.prototype.setUint8
-default-arg
 default-parameters
 destructuring-assignment
 destructuring-binding
diff --git a/test/language/destructuring/binding/initialization-requires-object-coercible-null.js b/test/language/destructuring/binding/initialization-requires-object-coercible-null.js
index 1b5adc8767..779e21dd83 100644
--- a/test/language/destructuring/binding/initialization-requires-object-coercible-null.js
+++ b/test/language/destructuring/binding/initialization-requires-object-coercible-null.js
@@ -12,6 +12,7 @@ info: |
 
   1. Let valid be RequireObjectCoercible(value).
   2. ReturnIfAbrupt(valid).
+features: [destructuring-binding]
 ---*/
 
 function fn({}) {}
diff --git a/test/language/destructuring/binding/initialization-requires-object-coercible-undefined.js b/test/language/destructuring/binding/initialization-requires-object-coercible-undefined.js
index 639bd3252a..08e39671e9 100644
--- a/test/language/destructuring/binding/initialization-requires-object-coercible-undefined.js
+++ b/test/language/destructuring/binding/initialization-requires-object-coercible-undefined.js
@@ -12,6 +12,7 @@ info: |
 
   1. Let valid be RequireObjectCoercible(value).
   2. ReturnIfAbrupt(valid).
+features: [destructuring-binding]
 ---*/
 
 function fn({}) {}
diff --git a/test/language/destructuring/binding/initialization-returns-normal-completion-for-empty-objects.js b/test/language/destructuring/binding/initialization-returns-normal-completion-for-empty-objects.js
index f2f31e5996..c3f4678312 100644
--- a/test/language/destructuring/binding/initialization-returns-normal-completion-for-empty-objects.js
+++ b/test/language/destructuring/binding/initialization-returns-normal-completion-for-empty-objects.js
@@ -18,6 +18,7 @@ info: |
 
   1. Return NormalCompletion(empty).
 
+features: [destructuring-binding]
 ---*/
 
 function fn({}) { return true; }
diff --git a/test/language/destructuring/binding/syntax/array-elements-with-initializer.js b/test/language/destructuring/binding/syntax/array-elements-with-initializer.js
index d0534312c0..95be5688a5 100644
--- a/test/language/destructuring/binding/syntax/array-elements-with-initializer.js
+++ b/test/language/destructuring/binding/syntax/array-elements-with-initializer.js
@@ -23,6 +23,7 @@ info: |
   BindingElement[Yield ] :
     SingleNameBinding[?Yield]
     BindingPattern[?Yield] Initializer[In, ?Yield]opt
+features: [destructuring-binding]
 ---*/
 
 function fn1([a, b = 42]) {}
diff --git a/test/language/destructuring/binding/syntax/array-elements-with-object-patterns.js b/test/language/destructuring/binding/syntax/array-elements-with-object-patterns.js
index f216f5c63d..72eb40ce78 100644
--- a/test/language/destructuring/binding/syntax/array-elements-with-object-patterns.js
+++ b/test/language/destructuring/binding/syntax/array-elements-with-object-patterns.js
@@ -23,6 +23,7 @@ info: |
   BindingElement[Yield ] :
     SingleNameBinding[?Yield]
     BindingPattern[?Yield] Initializer[In, ?Yield]opt
+features: [destructuring-binding]
 ---*/
 
 function fn1([{}]) {}
diff --git a/test/language/destructuring/binding/syntax/array-elements-without-initializer.js b/test/language/destructuring/binding/syntax/array-elements-without-initializer.js
index 13a5150772..3b21f6bade 100644
--- a/test/language/destructuring/binding/syntax/array-elements-without-initializer.js
+++ b/test/language/destructuring/binding/syntax/array-elements-without-initializer.js
@@ -23,6 +23,7 @@ info: |
   BindingElement[Yield ] :
     SingleNameBinding[?Yield]
     BindingPattern[?Yield] Initializer[In, ?Yield]opt
+features: [destructuring-binding]
 ---*/
 
 function fn1([a, b]) {}
diff --git a/test/language/destructuring/binding/syntax/array-pattern-with-elisions.js b/test/language/destructuring/binding/syntax/array-pattern-with-elisions.js
index 2ec24cf017..f5f5dbac98 100644
--- a/test/language/destructuring/binding/syntax/array-pattern-with-elisions.js
+++ b/test/language/destructuring/binding/syntax/array-pattern-with-elisions.js
@@ -12,6 +12,7 @@ info: |
     [ Elisionopt BindingRestElement[?Yield]opt ]
     [ BindingElementList[?Yield] ]
     [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
+features: [destructuring-binding]
 ---*/
 
 function fn1([,]) {}
diff --git a/test/language/destructuring/binding/syntax/array-pattern-with-no-elements.js b/test/language/destructuring/binding/syntax/array-pattern-with-no-elements.js
index b509dbc22f..3740e84ba4 100644
--- a/test/language/destructuring/binding/syntax/array-pattern-with-no-elements.js
+++ b/test/language/destructuring/binding/syntax/array-pattern-with-no-elements.js
@@ -12,6 +12,7 @@ info: |
     [ Elisionopt BindingRestElement[?Yield]opt ]
     [ BindingElementList[?Yield] ]
     [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
+features: [destructuring-binding]
 ---*/
 
 function fn([]) {}
diff --git a/test/language/destructuring/binding/syntax/array-rest-elements.js b/test/language/destructuring/binding/syntax/array-rest-elements.js
index 3922d1eeaf..31de6136e3 100644
--- a/test/language/destructuring/binding/syntax/array-rest-elements.js
+++ b/test/language/destructuring/binding/syntax/array-rest-elements.js
@@ -15,6 +15,7 @@ info: |
 
   BindingRestElement[Yield] :
     ... BindingIdentifier[?Yield]
+features: [destructuring-binding]
 ---*/
 
 function fn1([...args]) {}
diff --git a/test/language/destructuring/binding/syntax/object-pattern-with-no-property-list.js b/test/language/destructuring/binding/syntax/object-pattern-with-no-property-list.js
index b91cd57692..b53a785473 100644
--- a/test/language/destructuring/binding/syntax/object-pattern-with-no-property-list.js
+++ b/test/language/destructuring/binding/syntax/object-pattern-with-no-property-list.js
@@ -13,6 +13,7 @@ info: |
     { BindingPropertyList[?Yield] }
     { BindingPropertyList[?Yield] , }
 
+features: [destructuring-binding]
 ---*/
 
 function fn({}) {}
diff --git a/test/language/destructuring/binding/syntax/property-list-bindings-elements.js b/test/language/destructuring/binding/syntax/property-list-bindings-elements.js
index d1ec99e56e..2a521f161e 100644
--- a/test/language/destructuring/binding/syntax/property-list-bindings-elements.js
+++ b/test/language/destructuring/binding/syntax/property-list-bindings-elements.js
@@ -28,6 +28,7 @@ info: |
   SingleNameBinding[Yield] :
     BindingIdentifier[?Yield] Initializer[In, ?Yield]opt
 
+features: [destructuring-binding]
 ---*/
 
 // BindingElement w/ SingleNameBinding
diff --git a/test/language/destructuring/binding/syntax/property-list-followed-by-a-single-comma.js b/test/language/destructuring/binding/syntax/property-list-followed-by-a-single-comma.js
index bd0ddc3932..499b7eabad 100644
--- a/test/language/destructuring/binding/syntax/property-list-followed-by-a-single-comma.js
+++ b/test/language/destructuring/binding/syntax/property-list-followed-by-a-single-comma.js
@@ -13,6 +13,7 @@ info: |
     { BindingPropertyList[?Yield] }
     { BindingPropertyList[?Yield] , }
 
+features: [destructuring-binding]
 ---*/
 
 function fn1({x,}) {}
diff --git a/test/language/destructuring/binding/syntax/property-list-single-name-bindings.js b/test/language/destructuring/binding/syntax/property-list-single-name-bindings.js
index 03755e5aa4..502ecc081e 100644
--- a/test/language/destructuring/binding/syntax/property-list-single-name-bindings.js
+++ b/test/language/destructuring/binding/syntax/property-list-single-name-bindings.js
@@ -24,6 +24,7 @@ info: |
   SingleNameBinding[Yield] :
     BindingIdentifier[?Yield] Initializer[In, ?Yield]opt
 
+features: [destructuring-binding]
 ---*/
 
 function fna({x}) {}
diff --git a/test/language/destructuring/binding/syntax/property-list-with-property-list.js b/test/language/destructuring/binding/syntax/property-list-with-property-list.js
index 2cee982e41..b9b2dd60d7 100644
--- a/test/language/destructuring/binding/syntax/property-list-with-property-list.js
+++ b/test/language/destructuring/binding/syntax/property-list-with-property-list.js
@@ -17,6 +17,7 @@ info: |
     BindingProperty[?Yield]
     BindingPropertyList[?Yield] , BindingProperty[?Yield]
 
+features: [destructuring-binding]
 ---*/
 
 function fn1({a: {p: q}, b: {r}, c: {s = 0}, d: {}}) {}
diff --git a/test/language/destructuring/binding/syntax/recursive-array-and-object-patterns.js b/test/language/destructuring/binding/syntax/recursive-array-and-object-patterns.js
index 977618ecb0..7ab60ffcd4 100644
--- a/test/language/destructuring/binding/syntax/recursive-array-and-object-patterns.js
+++ b/test/language/destructuring/binding/syntax/recursive-array-and-object-patterns.js
@@ -11,6 +11,7 @@ info: |
   BindingPattern[Yield] :
     ObjectBindingPattern[?Yield]
     ArrayBindingPattern[?Yield]
+features: [destructuring-binding]
 ---*/
 
 function fn1([{}]) {}
diff --git a/test/language/expressions/object/method-definition/generator-super-prop-param.js b/test/language/expressions/object/method-definition/generator-super-prop-param.js
index 0836914025..ed54b06a0a 100644
--- a/test/language/expressions/object/method-definition/generator-super-prop-param.js
+++ b/test/language/expressions/object/method-definition/generator-super-prop-param.js
@@ -3,11 +3,11 @@
 
 /*---
 info: |
- GeneratorMethod can reference SuperProperty in arg
+ GeneratorMethod can reference SuperProperty in default parameters
 es6id: 14.4.1
 author: Sam Mikes
 description: GeneratorMethod uses SuperProperty (allowed)
-features: [ default-arg, generators, super ]
+features: [ default-parameters, generators, super ]
 ---*/
 
 var obj = {
-- 
GitLab