js/src/tests/js1_7/extensions/regress-354499-02.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:020b2dc17454
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 = 354499;
8 var summary = 'Iterating over Array elements';
9 var actual = '';
10 var expect = '';
11
12
13 //-----------------------------------------------------------------------------
14 test();
15 //-----------------------------------------------------------------------------
16
17 function test()
18 {
19 enterFunc ('test');
20 printBugNumber(BUGNUMBER);
21 printStatus (summary);
22
23 expect = actual = 'No Crash';
24
25 function get_value()
26 {
27 // Unroot the first element
28 this[0] = 0;
29
30 // Call gc to collect atom corresponding to Math.sqrt(2)
31 gc();
32 }
33
34 var counter = 2;
35 Iterator.prototype.next = function()
36 {
37 if (counter-- <= 0) throw StopIteration;
38 var a = [Math.sqrt(2), 1];
39 a.__defineGetter__(1, get_value);
40 return a;
41 };
42
43 for (i in [1])
44 ;
45
46 reportCompare(expect, actual, summary);
47
48 exitFunc ('test');
49 }

mercurial