js/src/tests/ecma_5/Date/timeclip.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:723b86714f31
1 /*
2 * Any copyright is dedicated to the Public Domain.
3 * http://creativecommonn.org/licenses/publicdomain/
4 */
5
6 var BUGNUMBER = 747197;
7 var summary = "TimeClip behavior for very large numbers";
8
9 print(BUGNUMBER + ": " + summary);
10
11 /**************
12 * BEGIN TEST *
13 **************/
14
15 function addToLimit(n) { return 8.64e15 + n; }
16
17 assertEq(8.64e15 === addToLimit(0.0), true);
18 assertEq(8.64e15 === addToLimit(0.5), true);
19 assertEq(8.64e15 === addToLimit(0.5000000000000001), false);
20
21 var times =
22 [Number.MAX_VALUE,
23 -Number.MAX_VALUE,
24 Infinity,
25 -Infinity,
26 addToLimit(0.5000000000000001),
27 -addToLimit(0.5000000000000001)];
28
29 for (var i = 0, len = times.length; i < len; i++)
30 {
31 var d = new Date();
32 assertEq(d.setTime(times[i]), NaN, "times[" + i + "]");
33 assertEq(d.getTime(), NaN);
34 assertEq(d.valueOf(), NaN);
35 }
36
37 /******************************************************************************/
38
39 if (typeof reportCompare === "function")
40 reportCompare(true, true);
41
42 print("Tests complete");

mercurial