tor-browser

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

call-generic-new-target.js (514B)


      1 // Test that the generic call trampoline passes new.target correctly.
      2 
      3 function foo(F) {
      4  return new F();
      5 }
      6 
      7 with ({}) {}
      8 
      9 class C {
     10  constructor() {
     11    this.newTarget = new.target;
     12  }
     13 }
     14 class C1 extends C {}
     15 class C2 extends C {}
     16 class C3 extends C {}
     17 let C4 = C3.bind({});
     18 let C5 = C3.bind({}, 1);
     19 
     20 for (var i = 0; i < 500; i++) {
     21  assertEq(foo(C1).newTarget, C1);
     22  assertEq(foo(C2).newTarget, C2);
     23  assertEq(foo(C3).newTarget, C3);
     24  assertEq(foo(C4).newTarget, C3);
     25  assertEq(foo(C5).newTarget, C3);
     26 }