tor-browser

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

regress-170193.js (1611B)


      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 *
      8 * Date:    22 Sep 2002
      9 * SUMMARY: adding prop after middle-delete of function w duplicate formal args
     10 * See http://bugzilla.mozilla.org/show_bug.cgi?id=170193
     11 *
     12 */
     13 //-----------------------------------------------------------------------------
     14 var UBound = 0;
     15 var BUGNUMBER = 170193;
     16 var summary = 'adding property after middle-delete of function w duplicate formal args';
     17 var status = '';
     18 var statusitems = [];
     19 var actual = '';
     20 var actualvalues = [];
     21 var expect= '';
     22 var expectedvalues = [];
     23 
     24 /*
     25 * This sequence of steps used to cause the SpiderMonkey shell to hang -
     26 */
     27 function f(a,a,b){}
     28 f.c=42;
     29 f.d=43;
     30 delete f.c;  // "middle delete"
     31 f.e=44;
     32 
     33 status = inSection(1);
     34 actual = f.c;
     35 expect = undefined;
     36 addThis();
     37 
     38 status = inSection(2);
     39 actual = f.d;
     40 expect = 43;
     41 addThis();
     42 
     43 status = inSection(3);
     44 actual = f.e;
     45 expect = 44;
     46 addThis();
     47 
     48 
     49 
     50 //-----------------------------------------------------------------------------
     51 test();
     52 //-----------------------------------------------------------------------------
     53 
     54 
     55 
     56 function addThis()
     57 {
     58  statusitems[UBound] = status;
     59  actualvalues[UBound] = actual;
     60  expectedvalues[UBound] = expect;
     61  UBound++;
     62 }
     63 
     64 
     65 function test()
     66 {
     67  printBugNumber(BUGNUMBER);
     68  printStatus(summary);
     69 
     70  for (var i=0; i<UBound; i++)
     71  {
     72    reportCompare(expectedvalues[i], actualvalues[i], statusitems[i]);
     73  }
     74 }