From 4f9da35b7691aad9d540e436161b34058a098f2e Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Mon, 16 Jun 2014 09:07:47 -0700 Subject: [PATCH] Make `_.max` and `_.min` return unwrapped values when chaining. --- lodash.js | 4 ++-- test/test.js | 31 ++++++++++++++++++++++++------- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/lodash.js b/lodash.js index e4e3ac30b..2767a07a0 100644 --- a/lodash.js +++ b/lodash.js @@ -8677,10 +8677,8 @@ lodash.map = map; lodash.mapValues = mapValues; lodash.matches = matches; - lodash.max = max; lodash.memoize = memoize; lodash.merge = merge; - lodash.min = min; lodash.mixin = mixin; lodash.negate = negate; lodash.omit = omit; @@ -8775,6 +8773,8 @@ lodash.isUndefined = isUndefined; lodash.kebabCase = kebabCase; lodash.lastIndexOf = lastIndexOf; + lodash.max = max; + lodash.min = min; lodash.noConflict = noConflict; lodash.noop = noop; lodash.now = now; diff --git a/test/test.js b/test/test.js index be3886366..d305fc288 100644 --- a/test/test.js +++ b/test/test.js @@ -3201,11 +3201,6 @@ 'some' ]; - var boolMethods = [ - 'every', - 'some' - ]; - var collectionMethods = [ 'countBy', 'every', @@ -3253,6 +3248,13 @@ 'forOwnRight' ]; + var unwrappedMethods = [ + 'every', + 'max', + 'min', + 'some' + ]; + _.each(methods, function(methodName) { var array = [1, 2, 3], func = _[methodName]; @@ -3289,7 +3291,7 @@ }); }); - _.each(_.difference(methods, boolMethods), function(methodName) { + _.each(_.difference(methods, unwrappedMethods), function(methodName) { var array = [1, 2, 3], func = _[methodName]; @@ -3304,6 +3306,21 @@ }); }); + _.each(unwrappedMethods, function(methodName) { + var array = [1, 2, 3], + func = _[methodName]; + + test('`_.' + methodName + '` should return an unwrapped value when chaining', 1, function() { + if (!isNpm) { + var actual = _(array)[methodName](_.noop); + ok(!(actual instanceof _)); + } + else { + skipTest(); + } + }); + }); + _.each(_.difference(methods, forInMethods), function(methodName) { var array = [1, 2, 3], func = _[methodName]; @@ -6620,7 +6637,7 @@ test('`_.' + methodName + '` should work when chaining on an array with only one value', 1, function() { if (!isNpm) { - var actual = _([40])[methodName]().value(); + var actual = _([40])[methodName](); strictEqual(actual, 40); } else {