Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 assertEq(Number.isInteger(4), true);
2 assertEq(Number.isInteger(4.), true);
3 assertEq(Number.isInteger(4.2), false);
4 assertEq(Number.isInteger(0.), true);
5 assertEq(Number.isInteger(-0.), true);
6 assertEq(Number.isInteger(Infinity), false);
7 assertEq(Number.isInteger(-Infinity), false);
8 assertEq(Number.isInteger(NaN), false);
9 assertEq(Number.isInteger(true), false);
10 assertEq(Number.isInteger(false), false);
11 assertEq(Number.isInteger({valueOf: function () { return 3; }}), false);
12 assertEq(Number.isInteger({valueOf: function () { return 0/0; }}), false);
13 assertEq(Number.isInteger({ valueOf: function() { throw 17; } }), false);
14 assertEq(Number.isInteger({ toString: function() { throw 17; } }), false);
15 assertEq(Number.isInteger({ valueOf: function() { throw 17; }, toString: function() { throw 42; } }), false);