]> Lady’s Gitweb - Pisces/blobdiff - numeric.test.js
Add support for constraints to Matcher
[Pisces] / numeric.test.js
index e82e04b88d6fc7b49086174143e9233d7254c391..96f51c1614e8cde3d1f7302d7e860ec1b278376d 100644 (file)
@@ -22,6 +22,7 @@ import {
   sgn,
   toBigInt,
   toFloat32,
+  toIntegerOrInfinity,
   toIntN,
   toNumber,
   toNumeric,
@@ -149,6 +150,33 @@ describe("toIntN", () => {
   it("[[Call]] works with numbers", () => {
     assertStrictEquals(toIntN(2, 7), -1);
   });
+
+  it("[[Call]] works with non‐integers", () => {
+    assertStrictEquals(toIntN(2, 7.21), -1);
+    assertStrictEquals(toIntN(2, Infinity), 0);
+  });
+});
+
+describe("toIntegerOrInfinity", () => {
+  it("[[Call]] converts nan to zero", () => {
+    assertStrictEquals(toIntegerOrInfinity(NaN), 0);
+  });
+
+  it("[[Call]] converts negative zero to positive zero", () => {
+    assertStrictEquals(toIntegerOrInfinity(-0), 0);
+  });
+
+  it("[[Call]] drops the fractional part of negative numbers", () => {
+    assertStrictEquals(toIntegerOrInfinity(-1.79), -1);
+  });
+
+  it("[[Call]] returns infinity for infinity", () => {
+    assertStrictEquals(toIntegerOrInfinity(Infinity), Infinity);
+  });
+
+  it("[[Call]] returns negative infinity for negative infinity", () => {
+    assertStrictEquals(toIntegerOrInfinity(Infinity), Infinity);
+  });
 });
 
 describe("toNumber", () => {
@@ -189,4 +217,9 @@ describe("toUintN", () => {
   it("[[Call]] works with numbers", () => {
     assertStrictEquals(toUintN(2, 7), 3);
   });
+
+  it("[[Call]] works with non‐integers", () => {
+    assertStrictEquals(toUintN(2, 7.21), 3);
+    assertStrictEquals(toUintN(2, Infinity), 0);
+  });
 });
This page took 0.022329 seconds and 4 git commands to generate.