tor-browser

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

Map-get.js (1116B)


      1 // Map.prototype.get and .has basically work
      2 var m = new Map;
      3 
      4 function rope() {
      5    var s = "s";
      6    for (var i = 0; i < 16; i++)
      7        s += s;
      8    return s;
      9 }
     10 
     11 var keys = [undefined, null, true, false,
     12            0, 1, 65535, 65536, 2147483647, 2147483648, 4294967295, 4294967296,
     13            -1, -65536, -2147483648,
     14            0.5, Math.sqrt(81), Math.PI,
     15            Number.MAX_VALUE, -Number.MAX_VALUE, Number.MIN_VALUE, -Number.MIN_VALUE,
     16            NaN, Infinity, -Infinity,
     17            "", "\0", "a", "ab", "abcdefg", rope(),
     18            {}, [], /a*b/, Object.prototype, Object];
     19 
     20 for (var i = 0; i < keys.length; i++) {
     21    // without being set
     22    var key = keys[i];
     23    assertEq(m.has(key), false);
     24    assertEq(m.get(key), undefined);
     25 
     26    // after being set
     27    var v = {};
     28    assertEq(m.set(key, v), m);
     29    assertEq(m.has(key), true);
     30    assertEq(m.get(key), v);
     31 
     32    // after being deleted
     33    assertEq(m.delete(key), true);
     34    assertEq(m.has(key), false);
     35    assertEq(m.get(key), undefined);
     36 
     37    m.set(key, v);
     38 }
     39 
     40 for (var i = 0; i < keys.length; i++)
     41    assertEq(m.has(keys[i]), true);