2
0
mirror of https://github.com/tenrok/axios.git synced 2026-05-15 11:59:42 +03:00

Fixing isArrayLike to allow length as a param. Added test

This commit is contained in:
Andrew Gibb
2015-07-21 14:17:45 +10:00
parent db85c7bf3a
commit 4f1101fe4b
2 changed files with 19 additions and 1 deletions
+11 -1
View File
@@ -130,6 +130,16 @@ function trim(str) {
return str.replace(/^\s*/, '').replace(/\s*$/, '');
}
/**
* Determine if a value is an Arguments object
*
* @param {Object} val The value to test
* @returns {boolean} True if value is an Arguments object, otherwise false
*/
function isArguments(val) {
return toString.call(val) === '[object Arguments]';
}
/**
* Iterate over an Array or an Object invoking a function for each item.
*
@@ -149,7 +159,7 @@ function forEach(obj, fn) {
}
// Check if obj is array-like
var isArrayLike = isArray(obj) || (typeof obj === 'object' && !isNaN(obj.length));
var isArrayLike = isArray(obj) || isArguments(obj);
// Force an array if not already something iterable
if (typeof obj !== 'object' && !isArrayLike) {
+8
View File
@@ -44,5 +44,13 @@ describe('helpers::buildUrl', function () {
bar: 'baz'
})).toEqual('/foo?foo=bar&bar=baz');
});
it('should support "length" parameter', function () {
expect(buildUrl('/foo', {
query: 'bar',
start: 0,
length: 5
})).toEqual('/foo?query=bar&start=0&length=5');
});
});