diff --git a/test/language/expressions/class/fields-asi-1.js b/test/language/expressions/class/fields-asi-1.js
index aed503ba6c54f5efb42f950ed1772256e9bffc1b..d570c2c1c45c7b42b621de327c3c3cb4b6b929f1 100644
--- a/test/language/expressions/class/fields-asi-1.js
+++ b/test/language/expressions/class/fields-asi-1.js
@@ -4,7 +4,7 @@
 /*---
 description: ASI test in field declarations -- computed name interpreted as property
 esid: sec-automatic-semicolon-insertion
-features: [class-fields]
+features: [class, class-fields-public]
 ---*/
 
 var obj = {}
diff --git a/test/language/expressions/class/fields-asi-2.js b/test/language/expressions/class/fields-asi-2.js
index bc153cd8ccf8fea3f2ba5e66ca31bf52889bd7d8..bcd88e6746de27dcfede99be1d666eefeb8ca747 100644
--- a/test/language/expressions/class/fields-asi-2.js
+++ b/test/language/expressions/class/fields-asi-2.js
@@ -4,7 +4,7 @@
 /*---
 description: ASI test in field declarations -- computed name interpreted as string index
 esid: sec-automatic-semicolon-insertion
-features: [class-fields]
+features: [class, class-fields-public]
 ---*/
 
 var C = class {
diff --git a/test/language/expressions/class/fields-asi-3.js b/test/language/expressions/class/fields-asi-3.js
index 256a257d537ca334b5ae059ca391221fe0e96dc3..a6eab1b95ef415215695d71e484b67d268b833fe 100644
--- a/test/language/expressions/class/fields-asi-3.js
+++ b/test/language/expressions/class/fields-asi-3.js
@@ -4,7 +4,7 @@
 /*---
 description: ASI test in field declarations -- error when computed name interpreted as index
 esid: sec-automatic-semicolon-insertion
-features: [class-fields]
+features: [class, class-fields-public]
 negative:
   phase: early
   type: SyntaxError
diff --git a/test/language/expressions/class/fields-asi-4.js b/test/language/expressions/class/fields-asi-4.js
index 1e0edec7060a35bbb3e5fdbb167429d01955d929..95b475a0a53a12f4a93a95edd837d28ca9f14959 100644
--- a/test/language/expressions/class/fields-asi-4.js
+++ b/test/language/expressions/class/fields-asi-4.js
@@ -4,7 +4,7 @@
 /*---
 description: ASI test in field declarations -- error when generator interpreted as multiplication
 esid: sec-automatic-semicolon-insertion
-features: [class-fields]
+features: [class, class-fields-public, generators]
 negative:
   phase: early
   type: SyntaxError
diff --git a/test/language/expressions/class/fields-asi-5.js b/test/language/expressions/class/fields-asi-5.js
index a003827cd605ae19e3f90fe98f7f981930d23404..9a1c0064b570351ce974f89828a57d4949afb6e7 100644
--- a/test/language/expressions/class/fields-asi-5.js
+++ b/test/language/expressions/class/fields-asi-5.js
@@ -4,7 +4,7 @@
 /*---
 description: ASI test in field declarations -- field with PropertyName "in" interpreted as index
 esid: sec-automatic-semicolon-insertion
-features: [class-fields]
+features: [class, class-fields-public]
 ---*/
 
 var x = 0;
diff --git a/test/language/expressions/class/fields-computed-name-static-propname-constructor.js b/test/language/expressions/class/fields-computed-name-static-propname-constructor.js
index a13e68a14bdbc91721f28ca58726d1a9c0f52898..9cbd70502b5cbded4c8bfa478e2803a0942cfb3b 100644
--- a/test/language/expressions/class/fields-computed-name-static-propname-constructor.js
+++ b/test/language/expressions/class/fields-computed-name-static-propname-constructor.js
@@ -6,7 +6,7 @@ description: >
   static class fields forbid PropName 'constructor' (no early error for
   ComputedPropertyName)
 esid: sec-class-definitions-static-semantics-early-errors
-features: [class-fields]
+features: [class, class-fields-public]
 info: |
   Static Semantics: PropName
   ...
diff --git a/test/language/expressions/class/fields-computed-name-static-propname-prototype.js b/test/language/expressions/class/fields-computed-name-static-propname-prototype.js
index ed5d817a11c6d98d93e6219c93b60ab8d7b289f4..97edf0e44ec3228d85ab72105f85a75205537ec9 100644
--- a/test/language/expressions/class/fields-computed-name-static-propname-prototype.js
+++ b/test/language/expressions/class/fields-computed-name-static-propname-prototype.js
@@ -5,7 +5,7 @@
 description: >
   Cannot redefine a non-configurable, non-writable "prototype" property
 esid: runtime-semantics-class-definition-evaluation
-features: [class-fields]
+features: [class, class-fields-public]
 info: |
   // This test file also tests the ComputedPropertyName won't trigger the
   // following early error:
diff --git a/test/language/statements/class/classelementname-abrupt-completion.js b/test/language/statements/class/classelementname-abrupt-completion.js
index 146df5e5599a7dfacc0cac568b0d29d1b9f595da..0a24a4a3c90e7fdaa2bba2b6e037f103c8db2e14 100644
--- a/test/language/statements/class/classelementname-abrupt-completion.js
+++ b/test/language/statements/class/classelementname-abrupt-completion.js
@@ -28,7 +28,7 @@ info: |
       1. Let fieldName be the result of evaluating ClassElementName.
       2. ReturnIfAbrupt(fieldName).
 
-features: [class-fields]
+features: [class, class-fields-public]
 ---*/
 
 function f() {
diff --git a/test/language/statements/class/fielddefinition-initializer-abrupt-completion.js b/test/language/statements/class/fielddefinition-initializer-abrupt-completion.js
index 090c8c9bc5991f52c81063eb04b78b7a7885b959..6ca7baeff1c52b78a1d199adc6c3943574cdbfd2 100644
--- a/test/language/statements/class/fielddefinition-initializer-abrupt-completion.js
+++ b/test/language/statements/class/fielddefinition-initializer-abrupt-completion.js
@@ -30,7 +30,7 @@ info: |
     5. If initializer is not empty, then
         a.Let initValue be ? Call(initializer, receiver).
 
-features: [class-fields]
+features: [class, class-fields-public]
 ---*/
 
 function f() {
diff --git a/test/language/statements/class/fields-asi-1.js b/test/language/statements/class/fields-asi-1.js
index 56a9dda58b0f12adb67d82ffb1031fb8739ade9c..cc03fba5d41cfe45d669b1808fd1a6dd8de4c9a3 100644
--- a/test/language/statements/class/fields-asi-1.js
+++ b/test/language/statements/class/fields-asi-1.js
@@ -4,7 +4,7 @@
 /*---
 description: ASI test in field declarations -- computed name interpreted as property
 esid: sec-automatic-semicolon-insertion
-features: [class-fields]
+features: [class, class-fields-public]
 ---*/
 
 var obj = {}
diff --git a/test/language/statements/class/fields-asi-2.js b/test/language/statements/class/fields-asi-2.js
index 70488e9e66c2b79426f0aa13017daf3471efd3ce..28d4a821fc626d4e0101d35de1d2c0c78e1c839a 100644
--- a/test/language/statements/class/fields-asi-2.js
+++ b/test/language/statements/class/fields-asi-2.js
@@ -4,7 +4,7 @@
 /*---
 description: ASI test in field declarations -- computed name interpreted as string index
 esid: sec-automatic-semicolon-insertion
-features: [class-fields]
+features: [class, class-fields-public]
 ---*/
 
 class C {
diff --git a/test/language/statements/class/fields-asi-3.js b/test/language/statements/class/fields-asi-3.js
index 42f49fd1e1d9dc0b1bfacca1e5a1c66d362815e2..188ba82f8dd8648bf52cf9b9bffaed86642df5b0 100644
--- a/test/language/statements/class/fields-asi-3.js
+++ b/test/language/statements/class/fields-asi-3.js
@@ -4,7 +4,7 @@
 /*---
 description: ASI test in field declarations -- error when computed name interpreted as index
 esid: sec-automatic-semicolon-insertion
-features: [class-fields]
+features: [class, class-fields-public]
 negative:
   phase: early
   type: SyntaxError
diff --git a/test/language/statements/class/fields-asi-4.js b/test/language/statements/class/fields-asi-4.js
index c1506f34f83afa665f0d1d69d3e47dbd28b449ef..020184881be9e1304f70e3c4cf22ab249a404b79 100644
--- a/test/language/statements/class/fields-asi-4.js
+++ b/test/language/statements/class/fields-asi-4.js
@@ -4,7 +4,7 @@
 /*---
 description: ASI test in field declarations -- error when generator interpreted as multiplication
 esid: sec-automatic-semicolon-insertion
-features: [class-fields]
+features: [class, class-fields-public, generators]
 negative:
   phase: early
   type: SyntaxError
diff --git a/test/language/statements/class/fields-asi-5.js b/test/language/statements/class/fields-asi-5.js
index 8b2147eef0d42d91b3b90052010ba65406c4a248..e81ab29ae0e2b12b82b4b52b8b79154bdc163477 100644
--- a/test/language/statements/class/fields-asi-5.js
+++ b/test/language/statements/class/fields-asi-5.js
@@ -4,7 +4,7 @@
 /*---
 description: ASI test in field declarations -- field with PropertyName "in" interpreted as index
 esid: sec-automatic-semicolon-insertion
-features: [class-fields]
+features: [class, class-fields-public]
 ---*/
 
 var x = 0;
diff --git a/test/language/statements/class/fields-computed-name-static-propname-constructor.js b/test/language/statements/class/fields-computed-name-static-propname-constructor.js
index 16da0047103259454e4e57e94d761e178a6378cb..760e89bef1e70730fd7b074506dc18cb12bf1029 100644
--- a/test/language/statements/class/fields-computed-name-static-propname-constructor.js
+++ b/test/language/statements/class/fields-computed-name-static-propname-constructor.js
@@ -6,7 +6,7 @@ description: >
   static class fields forbid PropName 'constructor' (no early error for
   ComputedPropertyName)
 esid: sec-class-definitions-static-semantics-early-errors
-features: [class-fields]
+features: [class, class-fields-public]
 info: |
   Static Semantics: PropName
   ...
diff --git a/test/language/statements/class/fields-computed-name-static-propname-prototype.js b/test/language/statements/class/fields-computed-name-static-propname-prototype.js
index b9d531b95c19a90d38bebbc7a5068ee64ca239c9..df50d86154b9ccbd32f87e9303c7382d6f86c0d6 100644
--- a/test/language/statements/class/fields-computed-name-static-propname-prototype.js
+++ b/test/language/statements/class/fields-computed-name-static-propname-prototype.js
@@ -5,7 +5,7 @@
 description: >
   Cannot redefine a non-configurable, non-writable "prototype" property
 esid: runtime-semantics-class-definition-evaluation
-features: [class-fields]
+features: [class, class-fields-public]
 info: |
   // This test file also tests the ComputedPropertyName won't trigger the
   // following early error:
diff --git a/test/language/statements/class/static-classelementname-abrupt-completion.js b/test/language/statements/class/static-classelementname-abrupt-completion.js
index d86d1f30d815962ef7e078ce079e49a603a21c76..77e10ed27b0364e571f2bd6d670413c8b602e82f 100644
--- a/test/language/statements/class/static-classelementname-abrupt-completion.js
+++ b/test/language/statements/class/static-classelementname-abrupt-completion.js
@@ -28,7 +28,7 @@ info: |
       1. Let fieldName be the result of evaluating ClassElementName.
       2. ReturnIfAbrupt(fieldName).
 
-features: [class-fields]
+features: [class, class-fields-public]
 ---*/
 
 function f() {
diff --git a/test/language/statements/class/static-fielddefinition-initializer-abrupt-completion.js b/test/language/statements/class/static-fielddefinition-initializer-abrupt-completion.js
index 226586d8b744d9ce27b341afc79d5e5c7a6d8817..93ae753081366aea84767e6630248f1e3a3b9f2c 100644
--- a/test/language/statements/class/static-fielddefinition-initializer-abrupt-completion.js
+++ b/test/language/statements/class/static-fielddefinition-initializer-abrupt-completion.js
@@ -28,7 +28,7 @@ info: |
     5. If initializer is not empty, then
         a. Let initValue be ? Call(initializer, receiver).
 
-features: [class-fields]
+features: [class, class-fields-public]
 ---*/
 
 function f() {
diff --git a/test/language/statements/class/super-fielddefinition-initializer-abrupt-completion.js b/test/language/statements/class/super-fielddefinition-initializer-abrupt-completion.js
index da97ab0215ac337f2d45ca132cd48e9920afef06..f8d649d20137b5bd7040bf3fd3192573fa9f5035 100644
--- a/test/language/statements/class/super-fielddefinition-initializer-abrupt-completion.js
+++ b/test/language/statements/class/super-fielddefinition-initializer-abrupt-completion.js
@@ -34,7 +34,7 @@ info: |
     5. If initializer is not empty, then
         a.Let initValue be ? Call(initializer, receiver).
 
-features: [class-fields]
+features: [class, class-fields-public]
 ---*/
 
 function f() {