tor-browser

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

String-methods-infinite-recursion.js (869B)


      1 /*
      2 * Any copyright is dedicated to the Public Domain.
      3 * http://creativecommons.org/licenses/publicdomain/
      4 */
      5 
      6 //-----------------------------------------------------------------------------
      7 var BUGNUMBER = 657585;
      8 var summary =
      9  'Guard against infinite recursion when converting |this| to string for the ' +
     10  'String.prototype.* methods';
     11 
     12 print(BUGNUMBER + ": " + summary);
     13 
     14 /**************
     15 * BEGIN TEST *
     16 **************/
     17 
     18 try
     19 {
     20  var obj = {};
     21  obj.toString = String.prototype.charAt;
     22  "" + obj;
     23  throw new Error("should have thrown");
     24 }
     25 catch (e)
     26 {
     27  assertEq(e instanceof InternalError, true,
     28           "should have thrown InternalError for over-recursion, got: " + e);
     29 }
     30 
     31 /******************************************************************************/
     32 
     33 if (typeof reportCompare === "function")
     34  reportCompare(true, true);
     35 
     36 print("All tests passed!");