tor-browser

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

regress-274152.js (1398B)


      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 = 274152;
      8 var summary = 'Do not ignore unicode format-control characters';
      9 var actual = '';
     10 var expect = '';
     11 
     12 
     13 //-----------------------------------------------------------------------------
     14 test();
     15 //-----------------------------------------------------------------------------
     16 
     17 function test()
     18 {
     19  printBugNumber(BUGNUMBER);
     20  printStatus (summary);
     21 
     22  expect = 'SyntaxError: illegal character';
     23 
     24  var formatcontrolchars = ['\u200E',
     25                            '\u0600', 
     26                            '\u0601', 
     27                            '\u0602', 
     28                            '\u0603', 
     29                            '\u06DD', 
     30                            '\u070F'];
     31 
     32  for (var i = 0; i < formatcontrolchars.length; i++)
     33  {
     34    var char = formatcontrolchars[i];
     35 
     36    try
     37    {
     38      eval("hi" + char + "there = 'howdie';");
     39    }
     40    catch(ex)
     41    {
     42      actual = ex + '';
     43    }
     44 
     45    var hex = char.codePointAt(0).toString(16).toUpperCase().padStart(4, '0');
     46    reportCompare(`${expect} U+${hex}`, actual, summary + ': ' + i);
     47  }
     48 }