summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/fields/private-field-error-messages.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/fields/private-field-error-messages.js')
-rw-r--r--js/src/jit-test/tests/fields/private-field-error-messages.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/fields/private-field-error-messages.js b/js/src/jit-test/tests/fields/private-field-error-messages.js
new file mode 100644
index 0000000000..4f7bfe0ae2
--- /dev/null
+++ b/js/src/jit-test/tests/fields/private-field-error-messages.js
@@ -0,0 +1,39 @@
+load(libdir + "asserts.js");
+
+class C {
+ #f = 1;
+ static test() {
+ assertTypeErrorMessage(
+ () => [].#f,
+ "can't access private field or method: object is not the right class"
+ );
+ assertTypeErrorMessage(
+ () => "ok".#f,
+ "can't access private field or method: object is not the right class"
+ );
+ assertTypeErrorMessage(
+ () => { [].#f = 3; },
+ "can't set private field: object is not the right class"
+ );
+ assertTypeErrorMessage(
+ () => { [].#f += 3; },
+ "can't set private field: object is not the right class"
+ );
+ assertTypeErrorMessage(
+ () => { [].#f++; },
+ "can't set private field: object is not the right class"
+ );
+
+ assertTypeErrorMessage(
+ () => "".#f,
+ "can't access private field or method: object is not the right class"
+ );
+ assertTypeErrorMessage(
+ () => { "".#f = 3; },
+ "can't set private field: object is not the right class"
+ );
+ }
+}
+
+C.test();
+