js/src/jit-test/tests/basic/number-isfinite.js

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 assertEq(Number.isFinite(Infinity), false);
     2 assertEq(Number.isFinite(-Infinity), false);
     3 assertEq(Number.isFinite(NaN), false);
     4 assertEq(Number.isFinite(4), true);
     5 assertEq(Number.isFinite(4.5), true);
     6 assertEq(Number.isFinite("hi"), false);
     7 assertEq(Number.isFinite("1.3"), false);
     8 assertEq(Number.isFinite("51"), false);
     9 assertEq(Number.isFinite(0), true);
    10 assertEq(Number.isFinite(-0), true);
    11 assertEq(Number.isFinite({valueOf: function () { return 3; }}), false);
    12 assertEq(Number.isFinite({valueOf: function () { return 0/0; }}), false);
    13 assertEq(Number.isFinite({ valueOf: function() { throw 17; } }), false);
    14 assertEq(Number.isFinite({ toString: function() { throw 17; } }), false);
    15 assertEq(Number.isFinite({ valueOf: function() { throw 17; }, toString: function() { throw 42; } }), false);

mercurial