Make _.drop, _.dropRight, _.take, _.takeRight coerce n of undefined to 0.

This commit is contained in:
John-David Dalton
2015-09-27 18:07:24 -07:00
parent 63c46a9aca
commit 68a5e2017e
2 changed files with 12 additions and 12 deletions

View File

@@ -4654,7 +4654,7 @@
if (!(array && array.length)) { if (!(array && array.length)) {
return []; return [];
} }
n = (guard || n == null) ? 1 : n; n = (guard || n === undefined) ? 1 : n;
return baseSlice(array, n < 0 ? 0 : n); return baseSlice(array, n < 0 ? 0 : n);
} }
@@ -4687,7 +4687,7 @@
if (!length) { if (!length) {
return []; return [];
} }
n = (guard || n == null) ? 1 : toInteger(n); n = (guard || n === undefined) ? 1 : toInteger(n);
n = length - n; n = length - n;
return baseSlice(array, 0, n < 0 ? 0 : n); return baseSlice(array, 0, n < 0 ? 0 : n);
} }
@@ -5517,7 +5517,7 @@
if (!(array && array.length)) { if (!(array && array.length)) {
return []; return [];
} }
n = (guard || n == null) ? 1 : n; n = (guard || n === undefined) ? 1 : n;
return baseSlice(array, 0, n < 0 ? 0 : n); return baseSlice(array, 0, n < 0 ? 0 : n);
} }
@@ -5550,7 +5550,7 @@
if (!length) { if (!length) {
return []; return [];
} }
n = (guard || n == null) ? 1 : toInteger(n); n = (guard || n === undefined) ? 1 : toInteger(n);
n = length - n; n = length - n;
return baseSlice(array, n < 0 ? 0 : n); return baseSlice(array, n < 0 ? 0 : n);
} }

View File

@@ -3645,11 +3645,11 @@
assert.deepEqual(_.drop(array, 2), [3]); assert.deepEqual(_.drop(array, 2), [3]);
}); });
QUnit.test('should treat falsey `n` values, except nullish, as `0`', function(assert) { QUnit.test('should treat falsey `n` values, except `undefined`, as `0`', function(assert) {
assert.expect(1); assert.expect(1);
var expected = _.map(falsey, function(value) { var expected = _.map(falsey, function(value) {
return value == null ? [2, 3] : array; return value === undefined ? [2, 3] : array;
}); });
var actual = _.map(falsey, function(n) { var actual = _.map(falsey, function(n) {
@@ -3733,11 +3733,11 @@
assert.deepEqual(_.dropRight(array, 2), [1]); assert.deepEqual(_.dropRight(array, 2), [1]);
}); });
QUnit.test('should treat falsey `n` values, except nullish, as `0`', function(assert) { QUnit.test('should treat falsey `n` values, except `undefined`, as `0`', function(assert) {
assert.expect(1); assert.expect(1);
var expected = _.map(falsey, function(value) { var expected = _.map(falsey, function(value) {
return value == null ? [1, 2] : array; return value === undefined ? [1, 2] : array;
}); });
var actual = _.map(falsey, function(n) { var actual = _.map(falsey, function(n) {
@@ -4746,11 +4746,11 @@
assert.deepEqual(_.take(array, 2), [1, 2]); assert.deepEqual(_.take(array, 2), [1, 2]);
}); });
QUnit.test('should treat falsey `n` values, except nullish, as `0`', function(assert) { QUnit.test('should treat falsey `n` values, except `undefined`, as `0`', function(assert) {
assert.expect(1); assert.expect(1);
var expected = _.map(falsey, function(value) { var expected = _.map(falsey, function(value) {
return value == null ? [1] : []; return value === undefined ? [1] : [];
}); });
var actual = _.map(falsey, function(n) { var actual = _.map(falsey, function(n) {
@@ -4828,11 +4828,11 @@
assert.deepEqual(_.takeRight(array, 2), [2, 3]); assert.deepEqual(_.takeRight(array, 2), [2, 3]);
}); });
QUnit.test('should treat falsey `n` values, except nullish, as `0`', function(assert) { QUnit.test('should treat falsey `n` values, except `undefined`, as `0`', function(assert) {
assert.expect(1); assert.expect(1);
var expected = _.map(falsey, function(value) { var expected = _.map(falsey, function(value) {
return value == null ? [3] : []; return value === undefined ? [3] : [];
}); });
var actual = _.map(falsey, function(n) { var actual = _.map(falsey, function(n) {