tor-browser

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

Set-surfaces-2.js (791B)


      1 // Set methods throw when passed a this-value that isn't a Set.
      2 
      3 load(libdir + "asserts.js");
      4 
      5 function testcase(obj, fn, ...args) {
      6    assertEq(typeof fn, "function");
      7    assertThrowsInstanceOf(function () { fn.apply(obj, args); }, TypeError);
      8 }
      9 
     10 var Set_size_getter = Object.getOwnPropertyDescriptor(Set.prototype, "size").get;
     11 
     12 function test(obj) {
     13    testcase(obj, Set.prototype.has, 12);
     14    testcase(obj, Set.prototype.add, 12);
     15    testcase(obj, Set.prototype.delete, 12);
     16    testcase(obj, Set.prototype.clear);
     17    testcase(obj, Set.prototype.keys);
     18    testcase(obj, Set.prototype.values);
     19    testcase(obj, Set.prototype.entries);
     20    testcase(obj, Set_size_getter);
     21 }
     22 
     23 test(Set.prototype);
     24 test(Object.create(new Set));
     25 test(new Map());
     26 test({});
     27 test(null);
     28 test(undefined);