Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
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/. */
6 //-----------------------------------------------------------------------------
7 var BUGNUMBER = 446026;
8 var summary = 'brian loves eval(s, o)';
9 var actual = '';
10 var expect = '';
12 printBugNumber(BUGNUMBER);
13 printStatus (summary);
15 var b = 45;
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 })();
26 expect = 'ReferenceError: a is not defined | undefined | 45';
27 actual = '';
29 var foo;
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);
39 expect = 'No Error';
40 actual = 'No Error';
42 try
43 {
44 eval("", {print:1});
45 print(1);
46 }
47 catch(ex)
48 {
49 actual = ex + '';
50 }
51 reportCompare(expect, actual, summary);