tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

regress-446026-01.js (1095B)


      1 /* -*- indent-tabs-mode: nil; js-indent-level: 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);