summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Exceptions/error-property-enumerability.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--js/src/tests/non262/Exceptions/error-property-enumerability.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/tests/non262/Exceptions/error-property-enumerability.js b/js/src/tests/non262/Exceptions/error-property-enumerability.js
new file mode 100644
index 0000000000..c6674cfc57
--- /dev/null
+++ b/js/src/tests/non262/Exceptions/error-property-enumerability.js
@@ -0,0 +1,30 @@
+/*
+ * Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/licenses/publicdomain/
+ */
+
+var errors = ["Error", "EvalError", "RangeError", "ReferenceError",
+ "SyntaxError", "TypeError", "URIError"];
+
+for (var i = 0; i < errors.length; i++) {
+ var error = this[errors[i]];
+
+ var desc = Object.getOwnPropertyDescriptor(error.prototype, "name");
+ assertEq(!!desc, true, errors[i] + ".prototype.name should exist");
+ assertEq((desc || {}).enumerable, false, errors[i] + ".prototype.name should not be enumerable");
+
+ desc = Object.getOwnPropertyDescriptor(error.prototype, "message");
+ assertEq(!!desc, true, errors[i] + ".prototype.message should exist");
+ assertEq((desc || {}).enumerable, false, errors[i] + ".prototype.message should not be enumerable");
+
+ var instance = new error;
+ desc = Object.getOwnPropertyDescriptor(instance, "message");
+ assertEq(!!desc, false, "new " + errors[i] + ".message should not exist");
+
+ instance = new error("a message");
+ desc = Object.getOwnPropertyDescriptor(instance, "message");
+ assertEq(!!desc, true, "new " + errors[i] + "(...).message should exist");
+ assertEq((desc || {}).enumerable, false, "new " + errors[i] + "(...).message should not be enumerable");
+}
+
+reportCompare(true, true);