Ensure array sequence methods don't error for falsey values.

This commit is contained in:
John-David Dalton
2016-03-19 22:11:32 -07:00
parent 6ed9c005d7
commit b2bff1ad45
2 changed files with 100 additions and 2 deletions

View File

@@ -24331,6 +24331,21 @@
skipAssert(assert, 5);
}
});
QUnit.test('should accept falsey arguments', function(assert) {
assert.expect(1);
var expected = lodashStable.map(falsey, alwaysTrue);
var actual = lodashStable.map(falsey, function(value, index) {
try {
var result = index ? _(value).pop() : _().pop();
return result === undefined;
} catch (e) {}
});
assert.deepEqual(actual, expected);
});
}());
/*--------------------------------------------------------------------------*/
@@ -24353,6 +24368,21 @@
skipAssert(assert, 2);
}
});
QUnit.test('should accept falsey arguments', function(assert) {
assert.expect(1);
var expected = lodashStable.map(falsey, alwaysTrue);
var actual = lodashStable.map(falsey, function(value, index) {
try {
var result = index ? _(value).push(1).value() : _().push(1).value();
return lodashStable.eq(result, value);
} catch (e) {}
});
assert.deepEqual(actual, expected);
});
}());
/*--------------------------------------------------------------------------*/
@@ -24379,6 +24409,21 @@
skipAssert(assert, 5);
}
});
QUnit.test('should accept falsey arguments', function(assert) {
assert.expect(1);
var expected = lodashStable.map(falsey, alwaysTrue);
var actual = lodashStable.map(falsey, function(value, index) {
try {
var result = index ? _(value).shift() : _().shift();
return result === undefined;
} catch (e) {}
});
assert.deepEqual(actual, expected);
});
}());
/*--------------------------------------------------------------------------*/
@@ -24401,6 +24446,21 @@
skipAssert(assert, 2);
}
});
QUnit.test('should accept falsey arguments', function(assert) {
assert.expect(1);
var expected = lodashStable.map(falsey, alwaysTrue);
var actual = lodashStable.map(falsey, function(value, index) {
try {
var result = index ? _(value).sort().value() : _().sort().value();
return lodashStable.eq(result, value);
} catch (e) {}
});
assert.deepEqual(actual, expected);
});
}());
/*--------------------------------------------------------------------------*/
@@ -24427,6 +24487,21 @@
skipAssert(assert, 5);
}
});
QUnit.test('should accept falsey arguments', function(assert) {
assert.expect(1);
var expected = lodashStable.map(falsey, alwaysTrue);
var actual = lodashStable.map(falsey, function(value, index) {
try {
var result = index ? _(value).splice(0, 1).value() : _().splice(0, 1).value();
return lodashStable.isEqual(result, []);
} catch (e) {}
});
assert.deepEqual(actual, expected);
});
}());
/*--------------------------------------------------------------------------*/
@@ -24449,6 +24524,21 @@
skipAssert(assert, 2);
}
});
QUnit.test('should accept falsey arguments', function(assert) {
assert.expect(1);
var expected = lodashStable.map(falsey, alwaysTrue);
var actual = lodashStable.map(falsey, function(value, index) {
try {
var result = index ? _(value).unshift(1).value() : _().unshift(1).value();
return lodashStable.eq(result, value);
} catch (e) {}
});
assert.deepEqual(actual, expected);
});
}());
/*--------------------------------------------------------------------------*/