//------------------------------------------------------------------------------------------------------- | |
// 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("../UnitTestFramework/TrimStackTracePath.js")) | |
{ | |
if (this.WScript.Arguments[0] == "runTest") | |
{ | |
runtest(this.WScript.Arguments[1]); | |
} | |
} |