tor-browser

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

S15.8.2.12_A2.js (1355B)


      1 // Copyright 2009 the Sputnik authors.  All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 info: If any value is NaN, the result of Math.min is NaN
      6 es5id: 15.8.2.12_A2
      7 description: >
      8    The script tests Math.min giving 1, 2 and 3 arguments to the
      9    function where at least one of the arguments is NaN
     10 ---*/
     11 
     12 // CHECK#1
     13 assert.sameValue(Math.min(NaN), NaN, "NaN");
     14 
     15 // CHECK#2
     16 var vals = new Array();
     17 vals[0] = -Infinity;
     18 vals[1] = -0.000000000000001;
     19 vals[2] = -0;
     20 vals[3] = +0
     21 vals[4] = 0.000000000000001;
     22 vals[5] = +Infinity;
     23 vals[6] = NaN;
     24 var valnum = 7;
     25 
     26 var args = new Array();
     27 for (var i = 0; i <= 1; i++)
     28 {
     29  args[i] = NaN;
     30  for (var j = 0; j < valnum; j++)
     31  {
     32    args[1 - i] = vals[j];
     33    assert.sameValue(
     34      Math.min(args[0], args[1]),
     35      NaN,
     36      "min(" + args[0] + ", " + args[1] + ")"
     37    );
     38  }
     39 }
     40 
     41 // CHECK #3
     42 var k = 1;
     43 var l = 2;
     44 for (var i = 0; i <= 2; i++)
     45 {
     46  args[i] = NaN;
     47  if (i === 1)
     48  {
     49    k = 0;
     50  } else if (i === 2)
     51  {
     52    l = 1;
     53  }
     54  for (var j = 0; j < valnum; j++)
     55  {
     56    for (var jj = 0; jj < valnum; jj++)
     57    {
     58      args[k] = vals[j];
     59      args[l] = vals[jj];
     60      assert.sameValue(
     61        Math.min(args[0], args[1], args[2]),
     62        NaN,
     63        "min(" + args[0] + ", " + args[1] + ", " + args[2] + ")"
     64      );
     65    }
     66  }
     67 }
     68 
     69 reportCompare(0, 0);