123456789101112131415161718192021222324252627282930313233343536373839404142 |
- load("test-common.js");
- function isPositiveZero(value) {
- return value === 0 && 1 / value === Infinity;
- }
- function isNegativeZero(value) {
- return value === 0 && 1 / value === -Infinity;
- }
- try {
- assert(Math.sign.length === 1);
- assert(Math.sign(0.0001) === 1);
- assert(Math.sign(1) === 1);
- assert(Math.sign(42) === 1);
- assert(Math.sign(Infinity) === 1);
- assert(isPositiveZero(Math.sign(0)));
- assert(isPositiveZero(Math.sign(null)));
- assert(isPositiveZero(Math.sign('')));
- assert(isPositiveZero(Math.sign([])));
- assert(Math.sign(-0.0001) === -1);
- assert(Math.sign(-1) === -1);
- assert(Math.sign(-42) === -1);
- assert(Math.sign(-Infinity) === -1);
- assert(isNegativeZero(Math.sign(-0)));
- assert(isNegativeZero(Math.sign(-null)));
- assert(isNegativeZero(Math.sign(-'')));
- assert(isNegativeZero(Math.sign(-[])));
- assert(isNaN(Math.sign()));
- assert(isNaN(Math.sign(undefined)));
- assert(isNaN(Math.sign([1, 2, 3])));
- assert(isNaN(Math.sign({})));
- assert(isNaN(Math.sign(NaN)));
- assert(isNaN(Math.sign("foo")));
- console.log("PASS");
- } catch (e) {
- console.log("FAIL: " + e);
- }
|