Enhance shouldBe()/shouldNotBe() to accept anonymous function arguments
[WebKit-https.git] / LayoutTests / js / script-tests / stack-unwinding.js
1 description(
2
3 "This test checks that JavaScriptCore does not crash when uwinding the stack that includes a host function."
4
5 );
6
7 function twoHostFunctions() {
8     var stack = [];
9     stack.push({ "args": twoHostFunctions.arguments });
10     stack.push({ "args": twoHostFunctions.arguments });
11     testPassed("Two host functions called in a row.");
12 }
13
14 function arrayOperatorFunction(element) {
15     return element + 5;
16 }
17
18 var myArray = new Array (0, 1, 2);
19 function hostCallsUser(array) {
20     return array.map(arrayOperatorFunction);
21 }
22
23 function throwException() {
24     throw "Exception thrown";
25 }
26
27 function hostAndException() {
28     var stack = [];
29     stack.push({ "args": hostAndException.arguments });
30     throwException();
31 }
32
33 twoHostFunctions();
34 myArray = hostCallsUser(myArray);
35 shouldBe('myArray', 'new Array( 5, 6, 7 )');
36
37 try {
38     hostAndException();
39 } catch (e) {
40     testPassed("Exception thrown and caught");
41 }
42