blob: 9c41641d375d93b9a659baefa5986d535bb70e8e [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");
}