diff options
Diffstat (limited to 'js/src/tests/ecma_6/Number/isSafeInteger-01.js')
-rw-r--r-- | js/src/tests/ecma_6/Number/isSafeInteger-01.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/Number/isSafeInteger-01.js b/js/src/tests/ecma_6/Number/isSafeInteger-01.js new file mode 100644 index 000000000..d1a11cfe3 --- /dev/null +++ b/js/src/tests/ecma_6/Number/isSafeInteger-01.js @@ -0,0 +1,40 @@ +// 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!"); |