tor-browser

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

trap-is-null-receiver.js (731B)


      1 // Copyright (C) 2016 Aleksey Shvayka. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 /*---
      4 esid: sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver
      5 description: >
      6    Pass to target's [[Set]] correct receiver if trap is missing
      7 info: |
      8    [[Set]] (P, V, Receiver)
      9 
     10    7. If trap is undefined, then
     11        a. Return ? target.[[Set]](P, V, Receiver).
     12 features: [Proxy]
     13 ---*/
     14 
     15 var context;
     16 var target = {
     17  set attr(val) {
     18    context = this;
     19  }
     20 };
     21 
     22 var p = new Proxy(target, {
     23  set: null
     24 });
     25 p.attr = 1;
     26 assert.sameValue(context, p);
     27 
     28 var pParent = Object.create(new Proxy(target, {}));
     29 pParent.attr = 3;
     30 assert.sameValue(context, pParent);
     31 
     32 reportCompare(0, 0);