summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/property-error-message-fix.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/property-error-message-fix.js')
-rw-r--r--js/src/jit-test/tests/basic/property-error-message-fix.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/property-error-message-fix.js b/js/src/jit-test/tests/basic/property-error-message-fix.js
new file mode 100644
index 0000000000..6f27416496
--- /dev/null
+++ b/js/src/jit-test/tests/basic/property-error-message-fix.js
@@ -0,0 +1,36 @@
+// |jit-test| skip-if: getBuildConfiguration('pbl')
+
+function check(f, message) {
+ let caught = false;
+ try {
+ f();
+ } catch (e) {
+ assertEq(e.message, message);
+ caught = true;
+ }
+ assertEq(caught, true);
+}
+
+check(() => {
+ let obj = {
+ prop: undefined
+ };
+ obj.prop.prop2();
+}, "can't access property \"prop2\", obj.prop is undefined");
+
+check(() => {
+ let obj = {
+ prop: null
+ };
+ obj.prop.prop2();
+}, "can't access property \"prop2\", obj.prop is null");
+
+check(() => {
+ let prop = "prop";
+ undefined[prop]();
+}, "can't access property \"prop\" of undefined");
+
+check(() => {
+ let prop = "prop";
+ null[prop]();
+}, "can't access property \"prop\" of null");