JavaScriptCore:
[WebKit-https.git] / LayoutTests / fast / js / toString-stack-overflow.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <title>Testing the exception thrown by Array.toString</title>
5 <script language="javascript">
6 function init(){  
7   var ary=[0];
8   for(var i=1; i<10000; i++)
9     ary=[ary, i];
10     
11   var out;
12   try{
13     out=ary.toString();
14   }catch(e){
15     out=e;
16   }
17   
18   document.getElementById("r0c0").firstChild.nodeValue = out;
19   if (window.layoutTestController) {
20     window.layoutTestController.dumpAsText();
21   }
22 }
23 </script>
24 </head>
25 <body onload="init()">
26 <p>This test checks for a regression against <a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=3743">http://bugzilla.opendarwin.org/show_bug.cgi?id=3743</a>: Incorrect error message given for certain calls.</p>
27 <p>On success, you should see: RangeError - Maximum call stack size exceeded.</p>
28 <p>The test confirms that the correct exception is thrown in the event of a stack overflow during a call to Array.toString. </p>
29 <p>It is possible that this may need to be updated if WebKit gets an improvement to its JavaScript stack support.  Either through increasing the depth of the recursion, or through some other mechanism.</p>
30 <hr> 
31 <table cellpadding="2" cellspacing="2" border="1">
32 <tbody>
33 <tr>
34 <td id="r0c0">&nbsp;</td>
35 </tr>
36 </tbody>
37 </table>
38 </body>
39 </html>