Ensure fp.over doesn't cap its iteratee args.

This commit is contained in:
John-David Dalton
2016-04-12 08:14:04 -07:00
parent 201ea9a9f0
commit b424f3b60f
2 changed files with 23 additions and 2 deletions

View File

@@ -4624,9 +4624,15 @@
*/
function createOver(arrayFunc) {
return rest(function(iteratees) {
var toIteratee = getIteratee();
iteratees = (iteratees.length == 1 && isArray(iteratees[0]))
? arrayMap(iteratees[0], getIteratee())
: arrayMap(baseFlatten(iteratees, 1, isFlattenableIteratee), getIteratee());
? iteratees[0]
: baseFlatten(iteratees, 1, isFlattenableIteratee);
iteratees = arrayMap(iteratees, function(iteratee) {
return toIteratee(iteratee, Infinity);
});
return rest(function(args) {
var thisArg = this;

View File

@@ -1443,6 +1443,21 @@
/*--------------------------------------------------------------------------*/
QUnit.module('fp.over');
(function() {
QUnit.test('should not cap iteratee args', function(assert) {
assert.expect(2);
_.each([fp.over, convert('over', _.over)], function(func) {
var over = func([Math.max, Math.min]);
assert.deepEqual(over(1, 2, 3, 4), [4, 1]);
});
});
}());
/*--------------------------------------------------------------------------*/
QUnit.module('fp.omitBy and fp.pickBy');
_.each(['omitBy', 'pickBy'], function(methodName) {