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.toInteger(4), 4);
2 assertEq(Number.toInteger(4.), 4);
3 assertEq(Number.toInteger(4.3), 4);
4 assertEq(Number.toInteger(-4), -4);
5 assertEq(Number.toInteger(-4.), -4);
6 assertEq(Number.toInteger(-4.3), -4);
7 assertEq(Number.toInteger(0.), 0.);
8 assertEq(Number.toInteger(-0.), -0.);
9 assertEq(Number.toInteger(Infinity), Infinity);
10 assertEq(Number.toInteger(-Infinity), -Infinity);
11 assertEq(Number.toInteger(NaN), 0);
12 assertEq(Number.toInteger(null), 0);
13 assertEq(Number.toInteger(undefined), 0);
14 assertEq(Number.toInteger(true), 1);
15 assertEq(Number.toInteger(false), 0);
16 assertEq(Number.toInteger({valueOf : function () { return 4; }}), 4);
17 assertEq(Number.toInteger({valueOf : function () { return 4.3; }}), 4);
18 assertEq(Number.toInteger({valueOf : function () { return "4"; }}), 4);
19 assertEq(Number.toInteger({valueOf : function () { return {};}}), 0);
20 assertEq(Number.toInteger(), 0);