blob: d1a11cfe373a44af1719e6419a553565705df32a [file] [log] [blame]
// Any copyright is dedicated to the Public Domain.
// http://creativecommons.org/licenses/publicdomain/
//-----------------------------------------------------------------------------
var BUGNUMBER = 1003764;
var summary = "ES6 (draft Draft May 22, 2014) ES6 20.1.2.5 Number.isSafeInteger(number)";
print(BUGNUMBER + ": " + summary);
assertEq(Number.isSafeInteger.length, 1);
assertEq(Number.isSafeInteger({}), false);
assertEq(Number.isSafeInteger(NaN), false);
assertEq(Number.isSafeInteger(+Infinity), false);
assertEq(Number.isSafeInteger(-Infinity), false);
assertEq(Number.isSafeInteger(-1), true);
assertEq(Number.isSafeInteger(+0), true);
assertEq(Number.isSafeInteger(-0), true);
assertEq(Number.isSafeInteger(1), true);
assertEq(Number.isSafeInteger(3.2), false);
assertEq(Number.isSafeInteger(Math.pow(2, 53) - 2), true);
assertEq(Number.isSafeInteger(Math.pow(2, 53) - 1), true);
assertEq(Number.isSafeInteger(Math.pow(2, 53)), false);
assertEq(Number.isSafeInteger(Math.pow(2, 53) + 1), false);
assertEq(Number.isSafeInteger(Math.pow(2, 53) + 2), false);
assertEq(Number.isSafeInteger(-Math.pow(2, 53) - 2), false);
assertEq(Number.isSafeInteger(-Math.pow(2, 53) - 1), false);
assertEq(Number.isSafeInteger(-Math.pow(2, 53)), false);
assertEq(Number.isSafeInteger(-Math.pow(2, 53) + 1), true);
assertEq(Number.isSafeInteger(-Math.pow(2, 53) + 2), true);
if (typeof reportCompare === "function")
reportCompare(true, true);
print("All tests passed!");