//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- function Dump(output) { if (this.WScript) { WScript.Echo(output); } else { alert(output); } } function throwExceptionWithCatch() { try { throwException(); } catch(e) { Dump(TrimStackTracePath(e.stack)); } } var errorObject; function throwException() { errorObject = new Error("this is my error"); throw errorObject; } function runtest(max, catchException) { var helper = function(i) { return function(j) { if (j == 0) { return catchException == undefined ? throwExceptionWithCatch() : throwException(); } that["function" + (j-1)](j-1); } } var that = new Object(); var i = 0; for (i = 0; i < max; i++) { that["function" + i] = helper(i); } that["function" + (max-1)](max-1); } if (this.WScript && this.WScript.Arguments && this.WScript.LoadScriptFile("TrimStackTracePath.js")) { if (this.WScript.Arguments[0] == "runTest") { runtest(this.WScript.Arguments[1]); } }