summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/assign-primitive-error.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/assign-primitive-error.js')
-rw-r--r--js/src/jit-test/tests/basic/assign-primitive-error.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/assign-primitive-error.js b/js/src/jit-test/tests/basic/assign-primitive-error.js
new file mode 100644
index 0000000000..5dcf8b4d16
--- /dev/null
+++ b/js/src/jit-test/tests/basic/assign-primitive-error.js
@@ -0,0 +1,18 @@
+'use strict';
+
+load(libdir + 'asserts.js');
+
+assertTypeErrorMessage(() => { var x = 1; x.a = 'a'; },
+ `can't assign to property "a" on 1: not an object`);
+assertTypeErrorMessage(() => { var x = "hello"; x.b = 'a'; },
+ `can't assign to property "b" on "hello": not an object`);
+assertTypeErrorMessage(() => { var x = false; x.c = 'a'; },
+ `can't assign to property "c" on false: not an object`);
+assertTypeErrorMessage(() => { var x = Symbol(); x.d = 'a'; },
+ `can't assign to property "d" on Symbol(): not an object`);
+assertTypeErrorMessage(() => { var x = Symbol("abc"); x.d = 'a'; },
+ `can't assign to property "d" on Symbol("abc"): not an object`);
+assertTypeErrorMessage(() => { var x = 1; x[15] = 'a'; },
+ `can't assign to property 15 on 1: not an object`);
+assertTypeErrorMessage(() => { var x = 1; x[Symbol("abc")] = 'a'; },
+ `can't assign to property Symbol("abc") on 1: not an object`);