From 64f219b666f9999ee69a67f7a9167b720d63c93d Mon Sep 17 00:00:00 2001
From: Rick Waldron <waldron.rick@gmail.com>
Date: Wed, 25 Jul 2018 12:16:49 -0400
Subject: [PATCH] Features: run feature detector to verify newly added feature
 flags

---
 test/built-ins/Proxy/construct/trap-is-null.js                  | 2 +-
 test/built-ins/Proxy/construct/trap-is-undefined-no-property.js | 2 +-
 test/built-ins/Proxy/construct/trap-is-undefined.js             | 2 +-
 .../arrow-function/lexical-new.target-closure-returned.js       | 2 +-
 test/language/expressions/arrow-function/lexical-new.target.js  | 2 +-
 test/language/expressions/new.target/value-via-reflect-apply.js | 2 +-
 .../expressions/new.target/value-via-reflect-construct.js       | 2 +-
 .../expressions/new.target/value-via-tagged-template.js         | 2 +-
 test/language/expressions/super/call-construct-invocation.js    | 2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/test/built-ins/Proxy/construct/trap-is-null.js b/test/built-ins/Proxy/construct/trap-is-null.js
index c5b915adaf..a5a63f0712 100644
--- a/test/built-ins/Proxy/construct/trap-is-null.js
+++ b/test/built-ins/Proxy/construct/trap-is-null.js
@@ -21,7 +21,7 @@ info: |
     ...
     3. If func is either undefined or null, return undefined.
     ...
-features: [Proxy, Reflect, Reflect.construct, new.target]
+features: [new.target, Proxy, Reflect, Reflect.construct]
 ---*/
 
 var calls = 0;
diff --git a/test/built-ins/Proxy/construct/trap-is-undefined-no-property.js b/test/built-ins/Proxy/construct/trap-is-undefined-no-property.js
index 8b19128db0..557bd7133a 100644
--- a/test/built-ins/Proxy/construct/trap-is-undefined-no-property.js
+++ b/test/built-ins/Proxy/construct/trap-is-undefined-no-property.js
@@ -10,7 +10,7 @@ info: |
 
     7. If trap is undefined, then
         b. Return Construct(target, argumentsList, newTarget).
-features: [Proxy, Reflect, Reflect.construct, new.target]
+features: [new.target, Proxy, Reflect, Reflect.construct]
 ---*/
 
 var calls = 0;
diff --git a/test/built-ins/Proxy/construct/trap-is-undefined.js b/test/built-ins/Proxy/construct/trap-is-undefined.js
index 0dd7b2e4b1..82b400abc8 100644
--- a/test/built-ins/Proxy/construct/trap-is-undefined.js
+++ b/test/built-ins/Proxy/construct/trap-is-undefined.js
@@ -21,7 +21,7 @@ info: |
     ...
     3. If func is either undefined or null, return undefined.
     ...
-features: [Proxy, Reflect, Reflect.construct, new.target]
+features: [new.target, Proxy, Reflect, Reflect.construct]
 ---*/
 
 var calls = 0;
diff --git a/test/language/expressions/arrow-function/lexical-new.target-closure-returned.js b/test/language/expressions/arrow-function/lexical-new.target-closure-returned.js
index 7cd9d43bf4..248b1de6d0 100644
--- a/test/language/expressions/arrow-function/lexical-new.target-closure-returned.js
+++ b/test/language/expressions/arrow-function/lexical-new.target-closure-returned.js
@@ -14,7 +14,7 @@ description: >
     The non-normative note elaborates on the "scope" argument:
 
     An ArrowFunction does not define local bindings for arguments, super, this, or new.target. Any reference to arguments, super, or this within an ArrowFunction must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an ArrowFunction may contain references to super, the function object created in step 4 is not made into a method by performing MakeMethod. An ArrowFunction that references super is always contained within a non-ArrowFunction and the necessary state to implement super is accessible via the scope that is captured by the function object of the ArrowFunction.
-features: [new.target]
+features: [arrow-function, new.target]
 ---*/
 
 function F() {
diff --git a/test/language/expressions/arrow-function/lexical-new.target.js b/test/language/expressions/arrow-function/lexical-new.target.js
index 400779bf34..b44ad6b937 100644
--- a/test/language/expressions/arrow-function/lexical-new.target.js
+++ b/test/language/expressions/arrow-function/lexical-new.target.js
@@ -14,7 +14,7 @@ description: >
     The non-normative note elaborates on the "scope" argument:
 
     An ArrowFunction does not define local bindings for arguments, super, this, or new.target. Any reference to arguments, super, or this within an ArrowFunction must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an ArrowFunction may contain references to super, the function object created in step 4 is not made into a method by performing MakeMethod. An ArrowFunction that references super is always contained within a non-ArrowFunction and the necessary state to implement super is accessible via the scope that is captured by the function object of the ArrowFunction.
-features: [new.target]
+features: [arrow-function, new.target]
 ---*/
 
 var functionInvocationCount = 0;
diff --git a/test/language/expressions/new.target/value-via-reflect-apply.js b/test/language/expressions/new.target/value-via-reflect-apply.js
index ed8d37efd6..2c621c75e4 100644
--- a/test/language/expressions/new.target/value-via-reflect-apply.js
+++ b/test/language/expressions/new.target/value-via-reflect-apply.js
@@ -7,7 +7,7 @@ description: Value when invoked via `Reflect.apply`
 info: |
   [...]
   5. Return ? Call(target, thisArgument, args).
-features: [Reflect, new.target]
+features: [new.target, Reflect]
 ---*/
 
 var newTarget = null;
diff --git a/test/language/expressions/new.target/value-via-reflect-construct.js b/test/language/expressions/new.target/value-via-reflect-construct.js
index 513ce97d2f..f945adde61 100644
--- a/test/language/expressions/new.target/value-via-reflect-construct.js
+++ b/test/language/expressions/new.target/value-via-reflect-construct.js
@@ -9,7 +9,7 @@ info: |
   2. If newTarget is not present, let newTarget be target.
   [...]
   5. Return ? Construct(target, args, newTarget).
-features: [Reflect, new.target]
+features: [new.target, Reflect, Reflect.construct]
 ---*/
 
 var customNewTarget = function() {};
diff --git a/test/language/expressions/new.target/value-via-tagged-template.js b/test/language/expressions/new.target/value-via-tagged-template.js
index b6dfa72843..61b8a4d52d 100644
--- a/test/language/expressions/new.target/value-via-tagged-template.js
+++ b/test/language/expressions/new.target/value-via-tagged-template.js
@@ -9,7 +9,7 @@ info: |
 
    [...]
    4. Return ? EvaluateCall(tagRef, TemplateLiteral, tailCall).
-features: [template, new.target]
+features: [new.target, template]
 ---*/
 
 var newTarget = null;
diff --git a/test/language/expressions/super/call-construct-invocation.js b/test/language/expressions/super/call-construct-invocation.js
index 4966d0ce3d..7a3f8bffa3 100644
--- a/test/language/expressions/super/call-construct-invocation.js
+++ b/test/language/expressions/super/call-construct-invocation.js
@@ -8,7 +8,7 @@ info: |
   [...]
   6. Let result be ? Construct(func, argList, newTarget).
   [...]
-features: [class, Reflect, new.target]
+features: [class, new.target, Reflect, Reflect.construct]
 ---*/
 
 var expectedNewTarget = function() {};
-- 
GitLab