tor-browser

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

testDirectProxyGetOwnPropertyNames8.js (1010B)


      1 // Return the names returned by the trap
      2 var target = {};
      3 Object.defineProperty(target, 'foo', {
      4    configurable: true
      5 });
      6 
      7 var handler = { ownKeys: () => [ 'bar' ] };
      8 
      9 for (let p of [new Proxy(target, handler), Proxy.revocable(target, handler).proxy]) {
     10    var names = Object.getOwnPropertyNames(p);
     11    assertEq(names.length, 1);
     12    assertEq(names[0], 'bar');
     13 }
     14 
     15 var protoWithAB = Object.create(null, {
     16    a: {
     17        enumerable: true,
     18        configurable: true
     19    },
     20    b: {
     21        enumerable: false,
     22        configurable: true
     23    }
     24 });
     25 var objWithCD = Object.create(protoWithAB, {
     26    c: {
     27        enumerable: true,
     28        configurable: true
     29    },
     30    d: {
     31        enumerable: true,
     32        configurable: true
     33    }
     34 });
     35 
     36 handler = { ownKeys: () => [ 'c', 'e' ] };
     37 for (let p of [new Proxy(objWithCD, handler), Proxy.revocable(objWithCD, handler).proxy]) {
     38    var names = Object.getOwnPropertyNames(p);
     39    assertEq(names.length, 2);
     40    assertEq(names[0], 'c');
     41    assertEq(names[1], 'e');
     42 }