tor-browser

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

WeakMap-constructor-iterable.js (547B)


      1 // The argument to WeakMap can be a iterable object.
      2 
      3 load(libdir + "iteration.js");
      4 
      5 var k1 = {};
      6 var v1 = 42;
      7 var k2 = {};
      8 var v2 = 43;
      9 var k3 = {};
     10 
     11 var done = false;
     12 
     13 var iterable = {};
     14 iterable[Symbol.iterator] = function*() {
     15  yield [k1, v1];
     16  yield [k2, v2];
     17  done = true;
     18 };
     19 var m = new WeakMap(iterable);
     20 
     21 assertEq(done, true);  // the constructor consumes the argument
     22 assertEq(m.has(k1), true);
     23 assertEq(m.has(k2), true);
     24 assertEq(m.has(k3), false);
     25 assertEq(m.get(k1), v1);
     26 assertEq(m.get(k2), v2);
     27 assertEq(m.get(k3), undefined);