tor-browser

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

regress-412926.js (1529B)


      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 = 412926;
      8 var summary = 'JS_ValueToId(cx, JSVAL_NULL) should return atom for "null" string';
      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  actual = expect = 'No Errors';
     23 
     24  var obj = { 'null': 1 };
     25 
     26  var errors = [];
     27 
     28  if (!obj.hasOwnProperty(null))
     29    errors.push('null property is not owned');
     30 
     31  if (!obj.propertyIsEnumerable(null))
     32    errors.push('null property is not enumerable');
     33 
     34  var getter_was_called = false;
     35  obj.__defineGetter__(null, function() { getter_was_called = true; return 1; });
     36  obj['null'];
     37 
     38  if (!getter_was_called)
     39    errors.push('getter was not assigned to the null property');
     40 
     41  var setter_was_called = false;
     42  obj.__defineSetter__(null, function() { setter_was_called = true; });
     43  obj['null'] = 2;
     44 
     45  if (!setter_was_called)
     46    errors.push('setter was not assigned to the null property');
     47 
     48  if (errors.length)
     49    actual = errors.join('; ');
     50 
     51  gc();
     52 
     53  reportCompare(expect, actual, summary);
     54 }