From e27423586528b0947407b36dba6916cc33c61e9b Mon Sep 17 00:00:00 2001 From: Raymond May Jr Date: Sun, 25 Mar 2012 11:08:23 -0500 Subject: [PATCH] _.isFinite fix and tests --- test/objects.js | 11 +++++++++++ underscore.js | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/test/objects.js b/test/objects.js index 1745d8a3f..072cfb537 100644 --- a/test/objects.js +++ b/test/objects.js @@ -481,6 +481,17 @@ $(document).ready(function() { ok(_.isRegExp(iRegExp), 'even from another frame'); }); + test("objects: isFinite", function() { + ok(!_.isFinite(undefined), 'undefined is not Finite'); + ok(!_.isFinite(null), 'null is not Finite'); + ok(!_.isFinite(Infinity), 'Infinity is not Finite'); + ok(!_.isFinite(-Infinity), '-Infinity is not Finite'); + ok(!_.isFinite('12'), 'Strings are not numbers'); + ok(_.isFinite(0), '0 is Finite'); + ok(_.isFinite(123), 'Ints are Finite'); + ok(_.isFinite(-12.44), 'Floats are Finite'); + }); + test("objects: isNaN", function() { ok(!_.isNaN(undefined), 'undefined is not NaN'); ok(!_.isNaN(null), 'null is not NaN'); diff --git a/underscore.js b/underscore.js index 98ffea186..5060147e3 100644 --- a/underscore.js +++ b/underscore.js @@ -814,7 +814,7 @@ // Is a givin number finite? _.isFinite = function(obj) { - return obj > -1/0 && obj < 1/0 && obj === -obj; + return obj > -1/0 && obj < 1/0 && obj === +obj; }; // Is the given value `NaN`?