tor-browser

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

not-a-constructor.js (883B)


      1 // Copyright (C) 2024 Igalia S.L. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 esid: sec-ecmascript-standard-built-in-objects
      6 description: >
      7  JSON.isRawJSON does not implement [[Construct]], is not new-able
      8 info: |
      9  ECMAScript Function Objects
     10 
     11  Built-in function objects that are not identified as constructors do not
     12  implement the [[Construct]] internal method unless otherwise specified in
     13  the description of a particular function.
     14 
     15  sec-evaluatenew
     16 
     17  ...
     18  7. If IsConstructor(constructor) is false, throw a TypeError exception.
     19  ...
     20 includes: [isConstructor.js]
     21 features: [json-parse-with-source, Reflect.construct]
     22 ---*/
     23 
     24 assert.sameValue(isConstructor(JSON.isRawJSON), false, 'isConstructor(JSON.isRawJSON) must return false');
     25 
     26 assert.throws(TypeError, () => {
     27  new JSON.isRawJSON();
     28 });
     29 
     30 reportCompare(0, 0);