js/src/tests/js1_5/Scope/regress-446026-01.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:79b87eca71c8
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 = 446026;
8 var summary = 'brian loves eval(s, o)';
9 var actual = '';
10 var expect = '';
11
12 printBugNumber(BUGNUMBER);
13 printStatus (summary);
14
15 var b = 45;
16
17 // Getting "private" variables
18 var obj = (function() {
19 var a = 21;
20 return {
21 // public function must reference 'a'
22 fn: function() {a;}
23 };
24 })();
25
26 expect = 'ReferenceError: a is not defined | undefined | 45';
27 actual = '';
28
29 var foo;
30
31 try {
32 eval('bar = b; foo=a', obj.fn);
33 } catch (e) {
34 actual = e;
35 }
36 print(actual += " | " + foo + " | " + bar); // 21
37 reportCompare(expect, actual, summary);
38
39 expect = 'No Error';
40 actual = 'No Error';
41
42 try
43 {
44 eval("", {print:1});
45 print(1);
46 }
47 catch(ex)
48 {
49 actual = ex + '';
50 }
51 reportCompare(expect, actual, summary);

mercurial