From c7f34e74ac6751a69b4378608ee59fe6182e5b3b Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Tue, 15 Sep 2015 23:42:15 -0700 Subject: [PATCH] Add `_.isInteger` and `_.isSafeInteger` tests. --- test/test.js | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/test/test.js b/test/test.js index e15f2f568..f00b10b08 100644 --- a/test/test.js +++ b/test/test.js @@ -8430,6 +8430,66 @@ /*--------------------------------------------------------------------------*/ + QUnit.module('isInteger methods'); + + _.each(['isInteger', 'isSafeInteger'], function(methodName) { + var args = arguments, + func = _[methodName], + isSafe = methodName == 'isSafeInteger'; + + QUnit.test('`_.' + methodName + '` should return `true` for integer values', function(assert) { + assert.expect(2); + + var values = [-1, 0, 1], + expected = _.map(values, _.constant(true)); + + var actual = _.map(values, function(value) { + return func(value); + }); + + assert.deepEqual(actual, expected); + assert.strictEqual(func(MAX_INTEGER), !isSafe); + }); + + QUnit.test('should return `false` for non-integer number values', function(assert) { + assert.expect(1); + + var values = [NaN, Infinity, -Infinity, Object(1), 3.14], + expected = _.map(values, _.constant(false)); + + var actual = _.map(values, function(value) { + return func(value); + }); + + assert.deepEqual(actual, expected); + }); + + QUnit.test('should return `false` for non-numeric values', function(assert) { + assert.expect(9); + + var expected = _.map(falsey, function(value) { + return value === 0; + }); + + var actual = _.map(falsey, function(value, index) { + return index ? func(value) : func(); + }); + + assert.deepEqual(actual, expected); + + assert.strictEqual(func(args), false); + assert.strictEqual(func([1, 2, 3]), false); + assert.strictEqual(func(true), false); + assert.strictEqual(func(new Date), false); + assert.strictEqual(func(new Error), false); + assert.strictEqual(func({ 'a': 1 }), false); + assert.strictEqual(func(/x/), false); + assert.strictEqual(func('a'), false); + }); + }); + + /*--------------------------------------------------------------------------*/ + QUnit.module('lodash.isMatch'); (function() {