| //------------------------------------------------------------------------------------------------------- |
| // Copyright (C) Microsoft. All rights reserved. |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. |
| //------------------------------------------------------------------------------------------------------- |
| |
| var ctors = [Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError]; |
| safeCall(eval, "ctors.push(RegExpError);"); |
| safeCall(eval, "ctors.push(ConversionError);"); |
| |
| var props = ["message", "name", "description", "call", "apply"]; |
| |
| for (var i in ctors) |
| { |
| Test(ctors[i]); |
| } |
| |
| function Test(ctor) |
| { |
| WScript.Echo("---------------------------------"); |
| WScript.Echo("toString(): " + ctor.toString()); |
| for (var j in props) |
| { |
| var prop = props[j]; |
| WScript.Echo("Property: '" + prop + "'"); |
| WScript.Echo("Value: '" + ctor[prop] + "'"); |
| WScript.Echo("hasOwnProperty: " + ctor.hasOwnProperty(prop)); |
| } |
| WScript.Echo(); |
| } |
| |
| function safeCall(f) { |
| var args = []; |
| for (var a = 1; a < arguments.length; ++a) |
| args.push(arguments[a]); |
| try { |
| return f.apply(this, args); |
| } catch (ex) { |
| WScript.Echo(ex.name + ": " + ex.message); |
| } |
| } |