From 0515db3d7ca55d30346d5cd961f756daf34cffdb Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Tue, 10 Jul 2012 21:41:38 -0400 Subject: [PATCH] Add more false values unit tests for `_.size` and "Arrays"/"Collections" methods. Former-commit-id: 475941321404ceec4eabb56fb9ee10855a653e12 --- test/test.js | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/test/test.js b/test/test.js index 75ebe4282..d1f54611a 100644 --- a/test/test.js +++ b/test/test.js @@ -638,11 +638,12 @@ }); test('should allow a falsey `object` argument', function() { + var fn = _.size; try { - var actual = [_.size(), _.size(null), _.size(false), _.size(0)]; + var actual = [fn(), fn(undefined), fn(null), fn(false), fn(0)]; } catch(e) { } - deepEqual(actual, [0, 0, 0, 0]); + deepEqual(actual, [0, 0, 0, 0, 0]); }); test('should work with `arguments` objects (test in IE < 9)', function() { @@ -906,9 +907,15 @@ 'zip', 'zipObject' ], function(methodName) { - var pass = true; + var fn = _[methodName], + pass = true; + try { - _[methodName](); + fn(); + fn(undefined); + fn(null); + fn(false); + fn(0); } catch(e) { pass = false; } @@ -938,12 +945,23 @@ 'some', 'toArray' ], function(methodName) { - var pass = true; + var fn = _[methodName], + identity = _.identity, + pass = true; + try { if (/^(?:contains|toArray)$/.test(methodName)) { - _[methodName](null); - } else { - _[methodName](null, _.identity); + fn(); + fn(undefined); + fn(null); + fn(false); + fn(0); + } + else { + fn(undefined, identity); + fn(null, identity); + fn(false, identity); + fn(0, identity); } } catch(e) { pass = false;