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

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:f551a6875d3a
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 = 313938;
8 var summary = 'Root access in jsscript.c';
9 var actual = '';
10 var expect = '';
11
12 printBugNumber(BUGNUMBER);
13 printStatus (summary);
14
15 if (typeof Script == 'undefined')
16 {
17 print('Test skipped. Script not defined.');
18 reportCompare("Script not defined, Test skipped.",
19 "Script not defined, Test skipped.",
20 summary);
21 }
22 else
23 {
24 var str = " 2;".substring(1);
25 "1".substring(2);
26 expect = Script.prototype.compile(str).toSource();
27
28 var likeString = {
29 toString: function() {
30 var tmp = str;
31 str = null;
32 return tmp;
33 }
34 };
35
36 TWO = 2.0;
37
38 var likeObject = {
39 valueOf: function() {
40 if (typeof gc == "function")
41 gc();
42 for (var i = 0; i != 40000; ++i) {
43 var tmp = 1e100 * TWO;
44 }
45 return this;
46 }
47 }
48
49 var s = Script.prototype.compile(likeString, likeObject);
50 var actual = s.toSource();
51 printStatus(expect === actual);
52
53 reportCompare(expect, actual, summary);
54 }

mercurial