js/src/tests/js1_5/extensions/regress-369696-02.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:8fad97067f42
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 = 369696;
8 var summary = 'Do not assert: map->depth > 0" in js_LeaveSharpObject';
9 var actual = '';
10 var expect = '';
11
12 // Bug 762908 requires us to set sp=null;
13 if (this.window) window.SpecialPowers = null;
14
15 //-----------------------------------------------------------------------------
16 test();
17 //-----------------------------------------------------------------------------
18
19 function test()
20 {
21 enterFunc ('test');
22 printBugNumber(BUGNUMBER);
23 printStatus (summary);
24
25 function fun() {}
26 n = fun.prototype;
27 n.__defineGetter__("prototype", n.toSource);
28 p = n.__lookupGetter__("prototype");
29 n = p;
30
31 assertEq(n, Object.prototype.toSource);
32 assertEq(p, Object.prototype.toSource);
33
34 n["prototype"] = [n];
35 n = p;
36
37 assertEq(n, Object.prototype.toSource);
38 assertEq(p, Object.prototype.toSource);
39
40 p2 = n["prototype"];
41
42 assertEq(Array.isArray(p2), true);
43 assertEq(p2[0], Object.prototype.toSource);
44
45 n = p2;
46
47 assertEq(n.toString, Array.prototype.toString);
48 n.__defineGetter__("0", n.toString);
49 n = p;
50
51 assertEq(n, Object.prototype.toSource);
52
53 n.call(this);
54
55 reportCompare(expect, actual, summary);
56
57 exitFunc ('test');
58 }

mercurial