1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/tests/ecma_6/Math/sign.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,34 @@ 1.4 +// If x is NaN, the result is NaN. 1.5 +assertEq(Math.sign(NaN), NaN); 1.6 + 1.7 +// If x is −0, the result is −0. 1.8 +assertEq(Math.sign(-0), -0); 1.9 + 1.10 +// If x is +0, the result is +0. 1.11 +assertEq(Math.sign(+0), +0); 1.12 + 1.13 +// If x is negative and not −0, the result is −1. 1.14 +assertEq(Math.sign(-Number.MIN_VALUE), -1); 1.15 +assertEq(Math.sign(-Number.MAX_VALUE), -1); 1.16 +assertEq(Math.sign(-Infinity), -1); 1.17 + 1.18 +for (var i = -1; i > -20; i--) 1.19 + assertEq(Math.sign(i), -1); 1.20 + 1.21 +assertEq(Math.sign(-1e-300), -1); 1.22 +assertEq(Math.sign(-0x80000000), -1); 1.23 + 1.24 +// If x is positive and not +0, the result is +1. 1.25 +assertEq(Math.sign(Number.MIN_VALUE), +1); 1.26 +assertEq(Math.sign(Number.MAX_VALUE), +1); 1.27 +assertEq(Math.sign(Infinity), +1); 1.28 + 1.29 +for (var i = 1; i < 20; i++) 1.30 + assertEq(Math.sign(i), +1); 1.31 + 1.32 +assertEq(Math.sign(+1e-300), +1); 1.33 +assertEq(Math.sign(0x80000000), +1); 1.34 +assertEq(Math.sign(0xffffffff), +1); 1.35 + 1.36 + 1.37 +reportCompare(0, 0, "ok");