Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1101)

Unified Diff: test/mjsunit/number-is.js

Issue 124573002: Upgrade Number constructor to ES6. (Closed) Base URL: git://github.com/v8/v8.git@bleeding_edge
Patch Set: Various code improvements Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/mjsunit/math-round.js ('k') | test/mjsunit/parse-int-float.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/number-is.js
diff --git a/test/mjsunit/number-is.js b/test/mjsunit/number-is.js
index 1589fc64ad44c8bae27d192a7b9f4cc42abf3a9c..53f08767869831be542dc3d62f314b1fbd6a98fa 100644
--- a/test/mjsunit/number-is.js
+++ b/test/mjsunit/number-is.js
@@ -25,11 +25,16 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-// Test Harmony Number.isFinite() and Number.isNaN() functions.
+// Test number predicates that Harmony adds to the Number constructor:
+// isFinite(), isNaN(), isInteger(), isSafeInteger().
assertTrue(Number.isFinite(0));
assertTrue(Number.isFinite(Number.MIN_VALUE));
assertTrue(Number.isFinite(Number.MAX_VALUE));
+assertTrue(Number.isFinite(Number.MIN_SAFE_INTEGER));
+assertTrue(Number.isFinite(Number.MIN_SAFE_INTEGER - 13));
+assertTrue(Number.isFinite(Number.MAX_SAFE_INTEGER));
+assertTrue(Number.isFinite(Number.MAX_SAFE_INTEGER + 23));
assertFalse(Number.isFinite(Number.NaN));
assertFalse(Number.isFinite(Number.POSITIVE_INFINITY));
assertFalse(Number.isFinite(Number.NEGATIVE_INFINITY));
@@ -45,9 +50,12 @@ assertFalse(Number.isFinite(undefined));
assertFalse(Number.isNaN(0));
assertFalse(Number.isNaN(Number.MIN_VALUE));
assertFalse(Number.isNaN(Number.MAX_VALUE));
+assertFalse(Number.isNaN(Number.MIN_SAFE_INTEGER - 13));
+assertFalse(Number.isNaN(Number.MAX_SAFE_INTEGER + 23));
assertTrue(Number.isNaN(Number.NaN));
assertFalse(Number.isNaN(Number.POSITIVE_INFINITY));
assertFalse(Number.isNaN(Number.NEGATIVE_INFINITY));
+assertFalse(Number.isNaN(Number.EPSILON));
assertFalse(Number.isNaN(new Number(0)));
assertFalse(Number.isNaN(1/0));
assertFalse(Number.isNaN(-1/0));
@@ -56,3 +64,63 @@ assertFalse(Number.isNaN([]));
assertFalse(Number.isNaN("s"));
assertFalse(Number.isNaN(null));
assertFalse(Number.isNaN(undefined));
+
+assertFalse(Number.isInteger({}));
+assertFalse(Number.isInteger([]));
+assertFalse(Number.isInteger("s"));
+assertFalse(Number.isInteger(null));
+assertFalse(Number.isInteger(undefined));
+assertFalse(Number.isInteger(new Number(2)));
+assertTrue(Number.isInteger(0));
+assertFalse(Number.isInteger(Number.MIN_VALUE));
+assertTrue(Number.isInteger(Number.MAX_VALUE));
+assertTrue(Number.isInteger(Number.MIN_SAFE_INTEGER));
+assertTrue(Number.isInteger(Number.MIN_SAFE_INTEGER - 13));
+assertTrue(Number.isInteger(Number.MAX_SAFE_INTEGER));
+assertTrue(Number.isInteger(Number.MAX_SAFE_INTEGER + 23));
+assertFalse(Number.isInteger(Number.NaN));
+assertFalse(Number.isInteger(Number.POSITIVE_INFINITY));
+assertFalse(Number.isInteger(Number.NEGATIVE_INFINITY));
+assertFalse(Number.isInteger(1/0));
+assertFalse(Number.isInteger(-1/0));
+assertFalse(Number.isInteger(Number.EPSILON));
+
+assertFalse(Number.isSafeInteger({}));
+assertFalse(Number.isSafeInteger([]));
+assertFalse(Number.isSafeInteger("s"));
+assertFalse(Number.isSafeInteger(null));
+assertFalse(Number.isSafeInteger(undefined));
+assertFalse(Number.isSafeInteger(new Number(2)));
+assertTrue(Number.isSafeInteger(0));
+assertTrue(Number.isSafeInteger(Number.MIN_SAFE_INTEGER));
+assertFalse(Number.isSafeInteger(Number.MIN_SAFE_INTEGER - 13));
+assertTrue(Number.isSafeInteger(Number.MIN_SAFE_INTEGER + 13));
+assertTrue(Number.isSafeInteger(Number.MAX_SAFE_INTEGER));
+assertFalse(Number.isSafeInteger(Number.MAX_SAFE_INTEGER + 23));
+assertTrue(Number.isSafeInteger(Number.MAX_SAFE_INTEGER - 23));
+assertFalse(Number.isSafeInteger(Number.MIN_VALUE));
+assertFalse(Number.isSafeInteger(Number.MAX_VALUE));
+assertFalse(Number.isSafeInteger(Number.NaN));
+assertFalse(Number.isSafeInteger(Number.POSITIVE_INFINITY));
+assertFalse(Number.isSafeInteger(Number.NEGATIVE_INFINITY));
+assertFalse(Number.isSafeInteger(1/0));
+assertFalse(Number.isSafeInteger(-1/0));
+assertFalse(Number.isSafeInteger(Number.EPSILON));
+
+var near_upper = Math.pow(2, 52);
+assertTrue(Number.isSafeInteger(near_upper));
+assertFalse(Number.isSafeInteger(2 * near_upper));
+assertTrue(Number.isSafeInteger(2 * near_upper - 1));
+assertTrue(Number.isSafeInteger(2 * near_upper - 2));
+assertFalse(Number.isSafeInteger(2 * near_upper + 1));
+assertFalse(Number.isSafeInteger(2 * near_upper + 2));
+assertFalse(Number.isSafeInteger(2 * near_upper + 7));
+
+var near_lower = -near_upper;
+assertTrue(Number.isSafeInteger(near_lower));
+assertFalse(Number.isSafeInteger(2 * near_lower));
+assertTrue(Number.isSafeInteger(2 * near_lower + 1));
+assertTrue(Number.isSafeInteger(2 * near_lower + 2));
+assertFalse(Number.isSafeInteger(2 * near_lower - 1));
+assertFalse(Number.isSafeInteger(2 * near_lower - 2));
+assertFalse(Number.isSafeInteger(2 * near_lower - 7));
« no previous file with comments | « test/mjsunit/math-round.js ('k') | test/mjsunit/parse-int-float.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698