diff --git a/src/class-fields/computed-name-toprimitive-returns-noncallable.js b/src/class-fields/computed-name-toprimitive-returns-noncallable.case
similarity index 100%
rename from src/class-fields/computed-name-toprimitive-returns-noncallable.js
rename to src/class-fields/computed-name-toprimitive-returns-noncallable.case
diff --git a/src/class-fields/computed-name-toprimitive-returns-nonobject.js b/src/class-fields/computed-name-toprimitive-returns-nonobject.case
similarity index 100%
rename from src/class-fields/computed-name-toprimitive-returns-nonobject.js
rename to src/class-fields/computed-name-toprimitive-returns-nonobject.case
diff --git a/test/language/statements/class/fields-static-private-fields.js b/test/language/statements/class/fields-static-private-fields.js
new file mode 100644
index 0000000000000000000000000000000000000000..a9b0611ee4a34f26777bd4d3782c9c2d77ee6d31
--- /dev/null
+++ b/test/language/statements/class/fields-static-private-fields.js
@@ -0,0 +1,45 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/static-private-fields.case
+// - src/class-fields/default/cls-decl.template
+/*---
+description: literal private names (field definitions in a class declaration)
+esid: prod-FieldDefinition
+features: [class, class-fields-public]
+flags: [generated]
+info: |
+    ClassElement:
+      ...
+      static FieldDefinition ;
+
+    FieldDefinition:
+      ClassElementName Initializer_opt
+
+    ClassElementName:
+      PrivateName
+
+    PrivateName:
+      # IdentifierName
+
+---*/
+
+
+class C {
+  static #x; static #y
+}
+
+// Test the private fields do not appear as properties before set to value
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "#x"), false, "test 1");
+assert.sameValue(Object.hasOwnProperty.call(C, "#x"), false, "test 2");
+assert.sameValue(Object.hasOwnProperty.call(c, "#x"), false, "test 3");
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "#y"), false, "test 4");
+assert.sameValue(Object.hasOwnProperty.call(C, "#y"), false, "test 5");
+assert.sameValue(Object.hasOwnProperty.call(c, "#y"), false, "test 6");
+
+// Test if private fields can be sucessfully accessed and set to value
+assert.sameValue(C.x(), 42, "test 7");
+assert.sameValue(C.y(), 43, "test 8");
+
+// Test the private fields do not appear as properties before after set to value
+assert.sameValue(Object.hasOwnProperty.call(C, "#x"), false, "test 9");
+assert.sameValue(Object.hasOwnProperty.call(C, "#y"), false, "test 10");
diff --git a/test/language/statements/class/fields-static-private-methods.js b/test/language/statements/class/fields-static-private-methods.js
new file mode 100644
index 0000000000000000000000000000000000000000..3bf11c26da7be8a741fe8044c45fe226620a16bc
--- /dev/null
+++ b/test/language/statements/class/fields-static-private-methods.js
@@ -0,0 +1,45 @@
+// This file was procedurally generated from the following sources:
+// - src/class-fields/static-private-methods.case
+// - src/class-fields/default/cls-decl.template
+/*---
+description: literal private names (field definitions in a class declaration)
+esid: prod-FieldDefinition
+features: [class-static-methods-private, class, class-fields-public]
+flags: [generated]
+info: |
+    ClassElement:
+      ...
+      static FieldDefinition ;
+
+    FieldDefinition:
+      ClassElementName Initializer_opt
+
+    ClassElementName:
+      PrivateName
+
+    PrivateName:
+      # IdentifierName
+
+---*/
+
+
+class C {
+  static #xVal; static #yVal
+}
+
+// Test the private fields do not appear as properties before set to value
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "#x"), false, "test 1");
+assert.sameValue(Object.hasOwnProperty.call(C, "#x"), false, "test 2");
+assert.sameValue(Object.hasOwnProperty.call(c, "#x"), false, "test 3");
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "#y"), false, "test 4");
+assert.sameValue(Object.hasOwnProperty.call(C, "#y"), false, "test 5");
+assert.sameValue(Object.hasOwnProperty.call(c, "#y"), false, "test 6");
+
+// Test if private fields can be sucessfully accessed and set to value
+assert.sameValue(C.x(), 42, "test 7");
+assert.sameValue(C.y(), 43, "test 8");
+
+// Test the private fields do not appear as properties before after set to value
+assert.sameValue(Object.hasOwnProperty.call(C, "#x"), false, "test 9");
+assert.sameValue(Object.hasOwnProperty.call(C, "#y"), false, "test 10");