tor-browser

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

new-symbol-with-super-throws.js (880B)


      1 // Copyright (C) 2016 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 /*---
      4 es6id: 19.4.1
      5 description: Symbol subclass called with the new operator throws on super()
      6 info: |
      7  19.4.1 The Symbol Constructor
      8 
      9  ...
     10  The Symbol constructor is not intended to be used with the new operator or to
     11  be subclassed. It may be used as the value of an extends clause of a class
     12  definition but a super call to the Symbol constructor will cause an exception.
     13 
     14  19.4.1.1 Symbol ( [ description ] )
     15 
     16  ...
     17  1. If NewTarget is not undefined, throw a TypeError exception.
     18 features: [Symbol]
     19 ---*/
     20 
     21 class S1 extends Symbol {}
     22 
     23 assert.throws(TypeError, function() {
     24  new S1();
     25 });
     26 
     27 class S2 extends Symbol {
     28  constructor() {
     29    super();
     30  }
     31 }
     32 
     33 assert.throws(TypeError, function() {
     34  new S2();
     35 });
     36 
     37 
     38 reportCompare(0, 0);