js/src/tests/js1_5/extensions/regress-375183.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:f1276a7d88a6
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6 //-----------------------------------------------------------------------------
7 var BUGNUMBER = 375183;
8 var summary = '__noSuchMethod__ should not allocate beyond fp->script->depth';
9 var actual = 'No Crash';
10 var expect = 'No Crash';
11
12
13 //-----------------------------------------------------------------------------
14 test();
15 //-----------------------------------------------------------------------------
16
17 function test()
18 {
19 enterFunc ('test');
20 printBugNumber(BUGNUMBER);
21 printStatus (summary);
22
23 var obj = { get __noSuchMethod__() {
24 print("Executed");
25 return new Object();
26 }};
27
28 try
29 {
30 obj.x();
31 }
32 catch(ex)
33 {
34 }
35
36 reportCompare(expect, actual, summary + ':1');
37
38 obj = { __noSuchMethod__: {} };
39 try
40 {
41 obj.x();
42 }
43 catch(ex)
44 {
45 }
46
47 reportCompare(expect, actual, summary + ':2');
48
49 obj = { }
50 obj.__noSuchMethod__ = {};
51 try
52 {
53 obj.x();
54 }
55 catch(ex)
56 {
57 }
58
59 reportCompare(expect, actual, summary + ':3');
60
61 exitFunc ('test');
62 }

mercurial