diff --git a/test/test.js b/test/test.js index 58f3873b7..9fdcadd28 100644 --- a/test/test.js +++ b/test/test.js @@ -2234,30 +2234,29 @@ }); test('`_.' + methodName + '` should support shortcut fusion', 3, function() { + var filterCount = 0, + mapCount = 0; + + var map = _.curry(_.rearg(_.ary(_.map, 2), 1, 0), 2), + filter = _.curry(_.rearg(_.ary(_.filter, 2), 1, 0), 2), + take = _.curry(_.rearg(_.ary(_.take, 2), 1, 0), 2); + + var partialMap = map(function(value) { mapCount++; return value * value; }), + partialFilter = filter(function(value) { filterCount++; return value % 2 == 0; }), + partialTake = take(2); + + var combined = isFlow + ? func(partialMap, partialFilter, _.compact, partialTake) + : func(partialTake, _.compact, partialFilter, partialMap); + + deepEqual(combined(_.range(100)), [4, 16]); + if (!isNpm && WeakMap && _.support.funcNames) { - var filterCount = 0, - mapCount = 0; - - var map = _.curry(_.rearg(_.ary(_.map, 2), 1, 0), 2), - filter = _.curry(_.rearg(_.ary(_.filter, 2), 1, 0), 2), - take = _.curry(_.rearg(_.ary(_.take, 2), 1, 0), 2); - - var partialMap = map(function(value) { mapCount++; return value * value; }), - partialFilter = filter(function(value) { filterCount++; return value % 2 == 0; }), - partialTake = take(2); - - var combined = isFlow - ? func(partialMap, partialFilter, _.compact, partialTake) - : func(partialTake, _.compact, partialFilter, partialMap); - - var actual = combined(_.range(100)); - - deepEqual(actual, [4, 16]); strictEqual(filterCount, 5, 'filterCount'); strictEqual(mapCount, 5, 'mapCount'); } else { - skipTest(3); + skipTest(2); } });