tor-browser

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

bug681185.js (8767B)


      1 function test_lsh(x, y) {
      2    return x << y;
      3 }
      4 
      5 function test_ursh(x, y) {
      6    return x >>> y;
      7 }
      8 
      9 function test_rsh(x, y) {
     10    return x >> y;
     11 }
     12 
     13 var x = 1;
     14 assertEq(test_rsh(x, -1), 0);
     15 assertEq(test_rsh(-1, x), -1);
     16 assertEq(test_ursh(x, -1), 0);
     17 assertEq(test_ursh(-1, x), 2147483647);
     18 assertEq(test_lsh(x, -1), -2147483648);
     19 assertEq(test_lsh(-1, x), -2);
     20 assertEq(test_rsh(x, 1), 0);
     21 assertEq(test_rsh(1, x), 0);
     22 assertEq(test_ursh(x, 1), 0);
     23 assertEq(test_ursh(1, x), 0);
     24 assertEq(test_lsh(x, 1), 2);
     25 assertEq(test_lsh(1, x), 2);
     26 assertEq(test_rsh(x, 0), 1);
     27 assertEq(test_rsh(0, x), 0);
     28 assertEq(test_ursh(x, 0), 1);
     29 assertEq(test_ursh(0, x), 0);
     30 assertEq(test_lsh(x, 0), 1);
     31 assertEq(test_lsh(0, x), 0);
     32 assertEq(test_rsh(x, 0xffffffff), 0);
     33 assertEq(test_rsh(0xffffffff, x), -1);
     34 assertEq(test_ursh(x, 0xffffffff), 0);
     35 assertEq(test_ursh(0xffffffff, x), 2147483647);
     36 assertEq(test_lsh(x, 0xffffffff), -2147483648);
     37 assertEq(test_lsh(0xffffffff, x), -2);
     38 assertEq(test_rsh(x, "10.6"), 0);
     39 assertEq(test_rsh("10.6", x), 5);
     40 assertEq(test_ursh(x, "10.6"), 0);
     41 assertEq(test_ursh("10.6", x), 5);
     42 assertEq(test_lsh(x, "10.6"), 1024);
     43 assertEq(test_lsh("10.6", x), 20);
     44 assertEq(test_rsh(x, 2147483648), 1);
     45 assertEq(test_rsh(2147483648, x), -1073741824);
     46 assertEq(test_ursh(x, 2147483648), 1);
     47 assertEq(test_ursh(2147483648, x), 1073741824);
     48 assertEq(test_lsh(x, 2147483648), 1);
     49 assertEq(test_lsh(2147483648, x), 0);
     50 assertEq(test_rsh(x, 4294967296), 1);
     51 assertEq(test_rsh(4294967296, x), 0);
     52 assertEq(test_ursh(x, 4294967296), 1);
     53 assertEq(test_ursh(4294967296, x), 0);
     54 assertEq(test_lsh(x, 4294967296), 1);
     55 assertEq(test_lsh(4294967296, x), 0);
     56 assertEq(test_rsh(x, undefined), 1);
     57 assertEq(test_rsh(undefined, x), 0);
     58 assertEq(test_ursh(x, undefined), 1);
     59 assertEq(test_ursh(undefined, x), 0);
     60 assertEq(test_lsh(x, undefined), 1);
     61 assertEq(test_lsh(undefined, x), 0);
     62 assertEq(test_rsh(x, null), 1);
     63 assertEq(test_rsh(null, x), 0);
     64 assertEq(test_ursh(x, null), 1);
     65 assertEq(test_ursh(null, x), 0);
     66 assertEq(test_lsh(x, null), 1);
     67 assertEq(test_lsh(null, x), 0);
     68 assertEq(test_rsh(x, false), 1);
     69 assertEq(test_rsh(false, x), 0);
     70 assertEq(test_ursh(x, false), 1);
     71 assertEq(test_ursh(false, x), 0);
     72 assertEq(test_lsh(x, false), 1);
     73 assertEq(test_lsh(false, x), 0);
     74 assertEq(test_rsh(x, true), 0);
     75 assertEq(test_rsh(true, x), 0);
     76 assertEq(test_ursh(x, true), 0);
     77 assertEq(test_ursh(true, x), 0);
     78 assertEq(test_lsh(x, true), 2);
     79 assertEq(test_lsh(true, x), 2);
     80 assertEq(test_rsh(x, -1.5), 0);
     81 assertEq(test_rsh(-1.5, x), -1);
     82 assertEq(test_ursh(x, -1.5), 0);
     83 assertEq(test_ursh(-1.5, x), 2147483647);
     84 assertEq(test_lsh(x, -1.5), -2147483648);
     85 assertEq(test_lsh(-1.5, x), -2);
     86 
     87 var x = 0;
     88 assertEq(test_rsh(x, -1), 0);
     89 assertEq(test_rsh(-1, x), -1);
     90 assertEq(test_ursh(x, -1), 0);
     91 assertEq(test_ursh(-1, x), 4294967295);
     92 assertEq(test_lsh(x, -1), 0);
     93 assertEq(test_lsh(-1, x), -1);
     94 assertEq(test_rsh(x, 1), 0);
     95 assertEq(test_rsh(1, x), 1);
     96 assertEq(test_ursh(x, 1), 0);
     97 assertEq(test_ursh(1, x), 1);
     98 assertEq(test_lsh(x, 1), 0);
     99 assertEq(test_lsh(1, x), 1);
    100 assertEq(test_rsh(x, 0), 0);
    101 assertEq(test_rsh(0, x), 0);
    102 assertEq(test_ursh(x, 0), 0);
    103 assertEq(test_ursh(0, x), 0);
    104 assertEq(test_lsh(x, 0), 0);
    105 assertEq(test_lsh(0, x), 0);
    106 assertEq(test_rsh(x, 0xffffffff), 0);
    107 assertEq(test_rsh(0xffffffff, x), -1);
    108 assertEq(test_ursh(x, 0xffffffff), 0);
    109 assertEq(test_ursh(0xffffffff, x), 4294967295);
    110 assertEq(test_lsh(x, 0xffffffff), 0);
    111 assertEq(test_lsh(0xffffffff, x), -1);
    112 assertEq(test_rsh(x, "10.6"), 0);
    113 assertEq(test_rsh("10.6", x), 10);
    114 assertEq(test_ursh(x, "10.6"), 0);
    115 assertEq(test_ursh("10.6", x), 10);
    116 assertEq(test_lsh(x, "10.6"), 0);
    117 assertEq(test_lsh("10.6", x), 10);
    118 assertEq(test_rsh(x, 2147483648), 0);
    119 assertEq(test_rsh(2147483648, x), -2147483648);
    120 assertEq(test_ursh(x, 2147483648), 0);
    121 assertEq(test_ursh(2147483648, x), 2147483648);
    122 assertEq(test_lsh(x, 2147483648), 0);
    123 assertEq(test_lsh(2147483648, x), -2147483648);
    124 assertEq(test_rsh(x, 4294967296), 0);
    125 assertEq(test_rsh(4294967296, x), 0);
    126 assertEq(test_ursh(x, 4294967296), 0);
    127 assertEq(test_ursh(4294967296, x), 0);
    128 assertEq(test_lsh(x, 4294967296), 0);
    129 assertEq(test_lsh(4294967296, x), 0);
    130 assertEq(test_rsh(x, undefined), 0);
    131 assertEq(test_rsh(undefined, x), 0);
    132 assertEq(test_ursh(x, undefined), 0);
    133 assertEq(test_ursh(undefined, x), 0);
    134 assertEq(test_lsh(x, undefined), 0);
    135 assertEq(test_lsh(undefined, x), 0);
    136 assertEq(test_rsh(x, null), 0);
    137 assertEq(test_rsh(null, x), 0);
    138 assertEq(test_ursh(x, null), 0);
    139 assertEq(test_ursh(null, x), 0);
    140 assertEq(test_lsh(x, null), 0);
    141 assertEq(test_lsh(null, x), 0);
    142 assertEq(test_rsh(x, false), 0);
    143 assertEq(test_rsh(false, x), 0);
    144 assertEq(test_ursh(x, false), 0);
    145 assertEq(test_ursh(false, x), 0);
    146 assertEq(test_lsh(x, false), 0);
    147 assertEq(test_lsh(false, x), 0);
    148 assertEq(test_rsh(x, true), 0);
    149 assertEq(test_rsh(true, x), 1);
    150 assertEq(test_ursh(x, true), 0);
    151 assertEq(test_ursh(true, x), 1);
    152 assertEq(test_lsh(x, true), 0);
    153 assertEq(test_lsh(true, x), 1);
    154 assertEq(test_rsh(x, -1.5), 0);
    155 assertEq(test_rsh(-1.5, x), -1);
    156 assertEq(test_ursh(x, -1.5), 0);
    157 assertEq(test_ursh(-1.5, x), 4294967295);
    158 assertEq(test_lsh(x, -1.5), 0);
    159 assertEq(test_lsh(-1.5, x), -1);
    160 
    161 var x = -1;
    162 assertEq(test_rsh(x, -1), -1);
    163 assertEq(test_rsh(-1, x), -1);
    164 assertEq(test_ursh(x, -1), 1);
    165 assertEq(test_ursh(-1, x), 1);
    166 assertEq(test_lsh(x, -1), -2147483648);
    167 assertEq(test_lsh(-1, x), -2147483648);
    168 assertEq(test_rsh(x, 1), -1);
    169 assertEq(test_rsh(1, x), 0);
    170 assertEq(test_ursh(x, 1), 2147483647);
    171 assertEq(test_ursh(1, x), 0);
    172 assertEq(test_lsh(x, 1), -2);
    173 assertEq(test_lsh(1, x), -2147483648);
    174 assertEq(test_rsh(x, 0), -1);
    175 assertEq(test_rsh(0, x), 0);
    176 assertEq(test_ursh(x, 0), 4294967295);
    177 assertEq(test_ursh(0, x), 0);
    178 assertEq(test_lsh(x, 0), -1);
    179 assertEq(test_lsh(0, x), 0);
    180 assertEq(test_rsh(x, 0xffffffff), -1);
    181 assertEq(test_rsh(0xffffffff, x), -1);
    182 assertEq(test_ursh(x, 0xffffffff), 1);
    183 assertEq(test_ursh(0xffffffff, x), 1);
    184 assertEq(test_lsh(x, 0xffffffff), -2147483648);
    185 assertEq(test_lsh(0xffffffff, x), -2147483648);
    186 assertEq(test_rsh(x, "10.6"), -1);
    187 assertEq(test_rsh("10.6", x), 0);
    188 assertEq(test_ursh(x, "10.6"), 4194303);
    189 assertEq(test_ursh("10.6", x), 0);
    190 assertEq(test_lsh(x, "10.6"), -1024);
    191 assertEq(test_lsh("10.6", x), 0);
    192 assertEq(test_rsh(x, 2147483648), -1);
    193 assertEq(test_rsh(2147483648, x), -1);
    194 assertEq(test_ursh(x, 2147483648), 4294967295);
    195 assertEq(test_ursh(2147483648, x), 1);
    196 assertEq(test_lsh(x, 2147483648), -1);
    197 assertEq(test_lsh(2147483648, x), 0);
    198 assertEq(test_rsh(x, 4294967296), -1);
    199 assertEq(test_rsh(4294967296, x), 0);
    200 assertEq(test_ursh(x, 4294967296), 4294967295);
    201 assertEq(test_ursh(4294967296, x), 0);
    202 assertEq(test_lsh(x, 4294967296), -1);
    203 assertEq(test_lsh(4294967296, x), 0);
    204 assertEq(test_rsh(x, undefined), -1);
    205 assertEq(test_rsh(undefined, x), 0);
    206 assertEq(test_ursh(x, undefined), 4294967295);
    207 assertEq(test_ursh(undefined, x), 0);
    208 assertEq(test_lsh(x, undefined), -1);
    209 assertEq(test_lsh(undefined, x), 0);
    210 assertEq(test_rsh(x, null), -1);
    211 assertEq(test_rsh(null, x), 0);
    212 assertEq(test_ursh(x, null), 4294967295);
    213 assertEq(test_ursh(null, x), 0);
    214 assertEq(test_lsh(x, null), -1);
    215 assertEq(test_lsh(null, x), 0);
    216 assertEq(test_rsh(x, false), -1);
    217 assertEq(test_rsh(false, x), 0);
    218 assertEq(test_ursh(x, false), 4294967295);
    219 assertEq(test_ursh(false, x), 0);
    220 assertEq(test_lsh(x, false), -1);
    221 assertEq(test_lsh(false, x), 0);
    222 assertEq(test_rsh(x, true), -1);
    223 assertEq(test_rsh(true, x), 0);
    224 assertEq(test_ursh(x, true), 2147483647);
    225 assertEq(test_ursh(true, x), 0);
    226 assertEq(test_lsh(x, true), -2);
    227 assertEq(test_lsh(true, x), -2147483648);
    228 assertEq(test_rsh(x, -1.5), -1);
    229 assertEq(test_rsh(-1.5, x), -1);
    230 assertEq(test_ursh(x, -1.5), 1);
    231 assertEq(test_ursh(-1.5, x), 1);
    232 assertEq(test_lsh(x, -1.5), -2147483648);
    233 assertEq(test_lsh(-1.5, x), -2147483648);
    234 
    235 
    236 
    237 assertEq(test_ursh(0, -2147483648), 0);
    238 assertEq(test_ursh(0, 2147483648), 0);
    239 assertEq(test_ursh(0, 45), 0);
    240 assertEq(test_ursh(0, -45), 0);
    241 assertEq(test_ursh(100, -2147483648), 100);
    242 assertEq(test_ursh(100, 2147483648), 100);
    243 assertEq(test_ursh(100, 45), 0);
    244 assertEq(test_ursh(100, -45), 0);
    245 assertEq(test_ursh(-100, -2147483648), 4294967196);
    246 assertEq(test_ursh(-100, 2147483648), 4294967196);
    247 assertEq(test_ursh(-100, 45), 524287);
    248 assertEq(test_ursh(-100, -45), 8191);
    249 
    250 
    251 
    252 function test1() {
    253    var i = 0;
    254    return 2147483647 >>> i;
    255 }
    256 assertEq(test1(), 2147483647);
    257 function test2() {
    258    var i = 1;
    259    return 2147483647 >>> i;
    260 }
    261 assertEq(test2(), 1073741823);
    262 function test3() {
    263    var i = 0;
    264    return -1 >>> i;
    265 }
    266 assertEq(test3(), 4294967295);
    267 function test4() {
    268    var i = 3;
    269    return -1 >>> i;
    270 }
    271 assertEq(test4(), 536870911);
    272 function test5() {
    273    var i = 0;
    274    return -3648 >>> i;
    275 }
    276 assertEq(test5(), 4294963648);