tor-browser

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

regress-367629.js (1392B)


      1 // |reftest| skip-if(!this.uneval)
      2 
      3 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
      4 /* This Source Code Form is subject to the terms of the Mozilla Public
      5 * License, v. 2.0. If a copy of the MPL was not distributed with this
      6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      7 
      8 
      9 //-----------------------------------------------------------------------------
     10 var BUGNUMBER = 367629;
     11 var summary = 'Decompilation of result with native function as getter';
     12 var actual = '';
     13 var expect = '';
     14 
     15 
     16 //-----------------------------------------------------------------------------
     17 test();
     18 //-----------------------------------------------------------------------------
     19 
     20 function test()
     21 {
     22  printBugNumber(BUGNUMBER);
     23  printStatus (summary);
     24 
     25  var a =
     26    Object.defineProperty({}, "h",
     27    {
     28      get: encodeURI,
     29      enumerable: true,
     30      configurable: true
     31    });
     32 
     33  expect = '({get h() {[native code]}})';
     34  actual = uneval(a);      
     35 
     36  // Native function syntax:
     37  // `function IdentifierName_opt ( FormalParameters ) { [ native code ] }`
     38 
     39  // The placement of whitespace characters in the native function's body is
     40  // implementation-dependent, so we need to replace those for this test.
     41  var re = new RegExp(["\\{", "\\[", "native", "code", "\\]", "\\}"].join("\\s*"));
     42  actual = actual.replace(re, "{[native code]}");
     43 
     44  compareSource(expect, actual, summary);
     45 }