1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/tests/ecma_5/Exceptions/error-property-enumerability.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,30 @@ 1.4 +/* 1.5 + * Any copyright is dedicated to the Public Domain. 1.6 + * http://creativecommons.org/licenses/publicdomain/ 1.7 + */ 1.8 + 1.9 +var errors = ["Error", "EvalError", "RangeError", "ReferenceError", 1.10 + "SyntaxError", "TypeError", "URIError"]; 1.11 + 1.12 +for (var i = 0; i < errors.length; i++) { 1.13 + var error = this[errors[i]]; 1.14 + 1.15 + var desc = Object.getOwnPropertyDescriptor(error.prototype, "name"); 1.16 + assertEq(!!desc, true, errors[i] + ".prototype.name should exist"); 1.17 + assertEq((desc || {}).enumerable, false, errors[i] + ".prototype.name should not be enumerable"); 1.18 + 1.19 + desc = Object.getOwnPropertyDescriptor(error.prototype, "message"); 1.20 + assertEq(!!desc, true, errors[i] + ".prototype.message should exist"); 1.21 + assertEq((desc || {}).enumerable, false, errors[i] + ".prototype.message should not be enumerable"); 1.22 + 1.23 + var instance = new error; 1.24 + desc = Object.getOwnPropertyDescriptor(instance, "message"); 1.25 + assertEq(!!desc, false, "new " + errors[i] + ".message should not exist"); 1.26 + 1.27 + instance = new error("a message"); 1.28 + desc = Object.getOwnPropertyDescriptor(instance, "message"); 1.29 + assertEq(!!desc, true, "new " + errors[i] + "(...).message should exist"); 1.30 + assertEq((desc || {}).enumerable, false, "new " + errors[i] + "(...).message should not be enumerable"); 1.31 +} 1.32 + 1.33 +reportCompare(true, true);