diff options
Diffstat (limited to 'js/src/tests/non262/Math/sign.js')
-rw-r--r-- | js/src/tests/non262/Math/sign.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/js/src/tests/non262/Math/sign.js b/js/src/tests/non262/Math/sign.js new file mode 100644 index 0000000000..5552dfc3d4 --- /dev/null +++ b/js/src/tests/non262/Math/sign.js @@ -0,0 +1,34 @@ +// If x is NaN, the result is NaN. +assertEq(Math.sign(NaN), NaN); + +// If x is −0, the result is −0. +assertEq(Math.sign(-0), -0); + +// If x is +0, the result is +0. +assertEq(Math.sign(+0), +0); + +// If x is negative and not −0, the result is −1. +assertEq(Math.sign(-Number.MIN_VALUE), -1); +assertEq(Math.sign(-Number.MAX_VALUE), -1); +assertEq(Math.sign(-Infinity), -1); + +for (var i = -1; i > -20; i--) + assertEq(Math.sign(i), -1); + +assertEq(Math.sign(-1e-300), -1); +assertEq(Math.sign(-0x80000000), -1); + +// If x is positive and not +0, the result is +1. +assertEq(Math.sign(Number.MIN_VALUE), +1); +assertEq(Math.sign(Number.MAX_VALUE), +1); +assertEq(Math.sign(Infinity), +1); + +for (var i = 1; i < 20; i++) + assertEq(Math.sign(i), +1); + +assertEq(Math.sign(+1e-300), +1); +assertEq(Math.sign(0x80000000), +1); +assertEq(Math.sign(0xffffffff), +1); + + +reportCompare(0, 0, "ok"); |