tor-browser

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

regress-188206-01.js (1671B)


      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 UBound = 0;
      8 var BUGNUMBER = 188206;
      9 var summary = 'Invalid use of regexp quantifiers should generate SyntaxErrors';
     10 var TEST_PASSED = 'SyntaxError';
     11 var TEST_FAILED = 'Generated an error, but NOT a SyntaxError!';
     12 var TEST_FAILED_BADLY = 'Did not generate ANY error!!!';
     13 var status = '';
     14 var statusitems = [];
     15 var actual = '';
     16 var actualvalues = [];
     17 var expect= '';
     18 var expectedvalues = [];
     19 
     20 
     21 /*
     22 * Now do some weird things on the left side of the regexps -
     23 */
     24 status = inSection(7);
     25 testThis(' /*a/ ');
     26 
     27 status = inSection(8);
     28 testThis(' /**a/ ');
     29 
     30 
     31 //-----------------------------------------------------------------------------
     32 test();
     33 //-----------------------------------------------------------------------------
     34 
     35 /*
     36 * Invalid syntax should generate a SyntaxError
     37 */
     38 function testThis(sInvalidSyntax)
     39 {
     40  expect = TEST_PASSED;
     41  actual = TEST_FAILED_BADLY;
     42 
     43  try
     44  {
     45    eval(sInvalidSyntax);
     46  }
     47  catch(e)
     48  {
     49    if (e instanceof SyntaxError)
     50      actual = TEST_PASSED;
     51    else
     52      actual = TEST_FAILED;
     53  }
     54 
     55  statusitems[UBound] = status;
     56  expectedvalues[UBound] = expect;
     57  actualvalues[UBound] = actual;
     58  UBound++;
     59 }
     60 
     61 
     62 function test()
     63 {
     64  printBugNumber(BUGNUMBER);
     65  printStatus(summary);
     66 
     67  for (var i=0; i<UBound; i++)
     68  {
     69    reportCompare(expectedvalues[i], actualvalues[i], statusitems[i]);
     70  }
     71 }