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
*/
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']);
});
test('should shallow clone array path', 2, function() {
var array = ['a', 'b', 'c'],
actual = _.toPath(array);
test('should coerce array elements to strings', 4, function() {
var array = ['a', 'b', 'c'];
deepEqual(actual, array);
notStrictEqual(actual, array);
_.each([array, _.map(array, Object)], function(value) {
var actual = _.toPath(value);
deepEqual(actual, array);
notStrictEqual(actual, array);
});
});
test('should handle complex paths', 1, function() {