| /* |
| * Any copyright is dedicated to the Public Domain. |
| * http://creativecommonn.org/licenses/publicdomain/ |
| */ |
| |
| var BUGNUMBER = 747197; |
| var summary = "TimeClip behavior for very large numbers"; |
| |
| print(BUGNUMBER + ": " + summary); |
| |
| /************** |
| * BEGIN TEST * |
| **************/ |
| |
| function addToLimit(n) { return 8.64e15 + n; } |
| |
| assertEq(8.64e15 === addToLimit(0.0), true); |
| assertEq(8.64e15 === addToLimit(0.5), true); |
| assertEq(8.64e15 === addToLimit(0.5000000000000001), false); |
| |
| var times = |
| [Number.MAX_VALUE, |
| -Number.MAX_VALUE, |
| Infinity, |
| -Infinity, |
| addToLimit(0.5000000000000001), |
| -addToLimit(0.5000000000000001)]; |
| |
| for (var i = 0, len = times.length; i < len; i++) |
| { |
| var d = new Date(); |
| assertEq(d.setTime(times[i]), NaN, "times[" + i + "]"); |
| assertEq(d.getTime(), NaN); |
| assertEq(d.valueOf(), NaN); |
| } |
| |
| /******************************************************************************/ |
| |
| if (typeof reportCompare === "function") |
| reportCompare(true, true); |
| |
| print("Tests complete"); |