js/src/jit-test/tests/collections/key-equality-0.js

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 // -0 is treated as the same key as +0.
     3 var s = new Set;
     4 s.add(-0);
     5 assertEq(s.has(0), true);
     6 assertEq(s.has(-0), true);
     8 assertEq(s.delete(0), true);
     9 assertEq(s.has(-0), false);
    10 assertEq(s.has(0), false);
    12 s.add(0);
    13 assertEq(s.has(0), true);
    14 assertEq(s.has(-0), true);
    15 assertEq(s.delete(-0), true);
    16 assertEq(s.has(-0), false);
    17 assertEq(s.has(0), false);
    19 var m = new Map;
    20 m.set(-0, 'x');
    21 assertEq(m.has(0), true);
    22 assertEq(m.get(0), 'x');
    23 assertEq(m.has(-0), true);
    24 assertEq(m.get(-0), 'x');
    26 assertEq(m.delete(0), true);
    27 assertEq(m.has(-0), false);
    28 assertEq(m.get(-0), undefined);
    29 assertEq(m.has(0), false);
    30 assertEq(m.get(0), undefined);
    32 m.set(-0, 'x');
    33 m.set(0, 'y');
    34 assertEq(m.has(0), true);
    35 assertEq(m.get(0), 'y');
    36 assertEq(m.has(-0), true);
    37 assertEq(m.get(-0), 'y');
    39 assertEq(m.delete(-0), true);
    40 assertEq(m.has(0), false);
    41 assertEq(m.get(0), undefined);
    42 assertEq(m.has(-0), false);
    43 assertEq(m.get(-0), undefined);

mercurial