summaryrefslogtreecommitdiffstats
path: root/js/src/tests/ecma_5/Exceptions
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/ecma_5/Exceptions')
-rw-r--r--js/src/tests/ecma_5/Exceptions/browser.js0
-rw-r--r--js/src/tests/ecma_5/Exceptions/error-expando-reconfigure.js28
-rw-r--r--js/src/tests/ecma_5/Exceptions/error-property-enumerability.js30
-rw-r--r--js/src/tests/ecma_5/Exceptions/shell.js0
4 files changed, 58 insertions, 0 deletions
diff --git a/js/src/tests/ecma_5/Exceptions/browser.js b/js/src/tests/ecma_5/Exceptions/browser.js
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/js/src/tests/ecma_5/Exceptions/browser.js
diff --git a/js/src/tests/ecma_5/Exceptions/error-expando-reconfigure.js b/js/src/tests/ecma_5/Exceptions/error-expando-reconfigure.js
new file mode 100644
index 000000000..c70ff5f85
--- /dev/null
+++ b/js/src/tests/ecma_5/Exceptions/error-expando-reconfigure.js
@@ -0,0 +1,28 @@
+/*
+ * Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/licenses/publicdomain/
+ */
+
+var gTestfile = "error-expando-reconfigure.js"
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 961494;
+var summary =
+ "Reconfiguring the first expando property added to an Error object " +
+ "shouldn't assert";
+
+print(BUGNUMBER + ": " + summary);
+
+/**************
+ * BEGIN TEST *
+ **************/
+
+var err = new Error(); // no message argument => no err.message property
+err.expando = 17;
+Object.defineProperty(err, "expando", { configurable: false });
+
+/******************************************************************************/
+
+if (typeof reportCompare === "function")
+ reportCompare(true, true);
+
+print("Tests complete");
diff --git a/js/src/tests/ecma_5/Exceptions/error-property-enumerability.js b/js/src/tests/ecma_5/Exceptions/error-property-enumerability.js
new file mode 100644
index 000000000..c6674cfc5
--- /dev/null
+++ b/js/src/tests/ecma_5/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);
diff --git a/js/src/tests/ecma_5/Exceptions/shell.js b/js/src/tests/ecma_5/Exceptions/shell.js
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/js/src/tests/ecma_5/Exceptions/shell.js