blob: 2ed361482b85d378d8074b96fd51da6ff717dabf [file] [log] [blame]
description(
"This test checks that JavaScriptCore does not crash when uwinding the stack that includes a host function."
);
function twoHostFunctions() {
var stack = [];
stack.push({ "args": twoHostFunctions.arguments });
stack.push({ "args": twoHostFunctions.arguments });
testPassed("Two host functions called in a row.");
}
function arrayOperatorFunction(element) {
return element + 5;
}
var myArray = new Array (0, 1, 2);
function hostCallsUser(array) {
return array.map(arrayOperatorFunction);
}
function throwException() {
throw "Exception thrown";
}
function hostAndException() {
var stack = [];
stack.push({ "args": hostAndException.arguments });
throwException();
}
twoHostFunctions();
myArray = hostCallsUser(myArray);
shouldBe('myArray', 'new Array( 5, 6, 7 )');
try {
hostAndException();
} catch (e) {
testPassed("Exception thrown and caught");
}