tor-browser

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

has-binding-idref-with-proxy-env.js (882B)


      1 // Copyright (C) 2024 André Bargull. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 esid: sec-object-environment-records-hasbinding-n
      6 description: >
      7  Lookups in proxy binding object for identifier reference.
      8 info: |
      9  9.1.1.2.1 HasBinding ( N )
     10 
     11    1. Let bindingObject be envRec.[[BindingObject]].
     12    2. Let foundBinding be ? HasProperty(bindingObject, N).
     13    3. If foundBinding is false, return false.
     14    ...
     15 
     16 features: [Proxy, Reflect]
     17 flags: [noStrict]
     18 includes: [compareArray.js, proxyTrapsHelper.js]
     19 ---*/
     20 
     21 var log = [];
     22 
     23 // Empty environment.
     24 var env = {};
     25 
     26 var proxy = new Proxy(env, allowProxyTraps({
     27  has(t, pk) {
     28    log.push("has:" + String(pk));
     29    return Reflect.has(t, pk);
     30  },
     31 }));
     32 
     33 with (proxy) {
     34  Object;
     35 }
     36 
     37 assert.compareArray(log, [
     38  // HasBinding, step 2.
     39  "has:Object",
     40 ]);
     41 
     42 reportCompare(0, 0);