Ensure _.toPath converts array values to strings.

This commit is contained in:
John-David Dalton
2015-09-05 11:25:06 -07:00
parent 15a4fb7adf
commit dc2e769d9a
2 changed files with 8 additions and 6 deletions

View File

@@ -11480,7 +11480,7 @@
* // => false * // => false
*/ */
function toPath(value) { function toPath(value) {
return isArray(value) ? copyArray(value) : stringToPath(value); return isArray(value) ? arrayMap(value, String) : stringToPath(value);
} }
/** /**

View File

@@ -15653,12 +15653,14 @@
deepEqual(_.toPath('a[0].b.c'), ['a', '0', 'b', 'c']); deepEqual(_.toPath('a[0].b.c'), ['a', '0', 'b', 'c']);
}); });
test('should shallow clone array path', 2, function() { test('should coerce array elements to strings', 4, function() {
var array = ['a', 'b', 'c'], var array = ['a', 'b', 'c'];
actual = _.toPath(array);
deepEqual(actual, array); _.each([array, _.map(array, Object)], function(value) {
notStrictEqual(actual, array); var actual = _.toPath(value);
deepEqual(actual, array);
notStrictEqual(actual, array);
});
}); });
test('should handle complex paths', 1, function() { test('should handle complex paths', 1, function() {