tor-browser

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

line-number-maintenance-for-identifier-containing-escape-terminated-by-unicode-separator.js (959B)


      1 /*
      2 * Any copyright is dedicated to the Public Domain.
      3 * http://creativecommons.org/licenses/publicdomain/
      4 */
      5 
      6 //-----------------------------------------------------------------------------
      7 var BUGNUMBER = 9999999;
      8 var summary =
      9  "Properly maintain the line number when tokenizing identifiers that " +
     10  "contain Unicode escapes *and* are terminated by U+2028 LINE SEPARATOR " +
     11  "or U+2029 PARAGRAPH SEPARATOR";
     12 
     13 print(BUGNUMBER + ": " + summary);
     14 
     15 /**************
     16 * BEGIN TEST *
     17 **************/
     18 
     19 var code = "var a\u0062c = [];\n"; // line 1
     20 
     21 for (var i = 0; i < 100; i++)
     22  code += "a\\u0062c\u2028a\\u0062c\u2029"; // lines 2..2+200-1
     23 
     24 code += "@"; // line 2+200
     25 
     26 try
     27 {
     28  eval(code);
     29  throw new Error("didn't throw");
     30 }
     31 catch (e)
     32 {
     33  assertEq(e.lineNumber, 2 + 200);
     34 }
     35 
     36 /******************************************************************************/
     37 
     38 if (typeof reportCompare === "function")
     39  reportCompare(true, true);
     40 
     41 print("Tests complete");