tor-browser

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

testBug504520Harder.js (1324B)


      1 function testBug504520Harder() {
      2    // test 1024 similar cases
      3    var vals = [1/0, -1/0, 0, 0/0];
      4    var ops = ["===", "!==", "==", "!=", "<", ">", "<=", ">="];
      5    for (var x of vals) {
      6        for (var y of vals) {
      7            for (var op of ops) {
      8                for (var z of vals) {
      9                    // Assume eval is correct. This depends on the global
     10                    // Infinity property not having been reassigned.
     11                    var xz = eval(x + op + z);
     12                    var yz = eval(y + op + z);
     13 
     14                    var arr = [x, x, x, x, x, x, x, x, x, y];
     15                    assertEq(arr.length > 9, true);
     16                    var expected = [xz, xz, xz, xz, xz, xz, xz, xz, xz, yz];
     17 
     18                    // ?: looks superfluous but that's what we're testing here
     19                    var fun = eval(
     20                        '(function (arr, results) {\n' +
     21                        '    for (let i = 0; i < arr.length; i++)\n' +
     22                        '        results.push(arr[i]' + op + z + ' ? "true" : "false");\n' +
     23                        '});\n');
     24                    var actual = [];
     25                    fun(arr, actual);
     26 	    print(x, y, op, z);
     27                    assertEq("" + actual, "" + expected);
     28                }
     29            }
     30        }
     31    }
     32 }
     33 testBug504520Harder();