From 04425786a124441ae073fa00c209939e76278ca9 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sat, 18 Aug 2012 00:48:14 -0700 Subject: [PATCH] Ensure `_.bind` correctly appends array arguments to partially applied arguments. Former-commit-id: 4fdb100f83ff9a0eafcba3f5bf91872748205595 --- lodash.js | 2 +- test/test.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lodash.js b/lodash.js index 598122972..05d0e77e3 100644 --- a/lodash.js +++ b/lodash.js @@ -3224,7 +3224,7 @@ } if (partialArgs.length) { args = args.length - ? concat.apply(partialArgs, args) + ? partialArgs.concat(slice.call(args)) : partialArgs; } if (this instanceof bound) { diff --git a/test/test.js b/test/test.js index 372895ae6..d28b41a32 100644 --- a/test/test.js +++ b/test/test.js @@ -143,6 +143,14 @@ QUnit.module('lodash.bind'); (function() { + test('should correctly append array arguments to partially applied arguments (test in IE < 9)', function() { + var args, + bound = _.bind(function() { args = slice.call(arguments); }, null, 'a'); + + bound(['b'], 'c'); + deepEqual(args, ['a', ['b'], 'c']); + }); + test('supports lazy bind', function() { var object = { 'name': 'moe',