mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-02 08:07:50 +00:00
Ensure _.toInteger can return -0.
This commit is contained in:
@@ -9736,9 +9736,12 @@
|
||||
* // => -1e308
|
||||
*/
|
||||
function toInteger(value) {
|
||||
return (value == INFINITY || value == -INFINITY)
|
||||
? (value < 0 ? -1 : 1) * MAX_INTEGER
|
||||
: (value - (value % 1)) || 0;
|
||||
if (value === INFINITY || value === -INFINITY) {
|
||||
return (value < 0 ? -1 : 1) * MAX_INTEGER;
|
||||
}
|
||||
value = +value;
|
||||
var remainder = value % 1;
|
||||
return value === value ? (remainder ? value - remainder : value) : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -19063,6 +19063,12 @@
|
||||
assert.strictEqual(_.toInteger(Infinity), MAX_INTEGER);
|
||||
assert.strictEqual(_.toInteger(-Infinity), -MAX_INTEGER);
|
||||
});
|
||||
|
||||
QUnit.test('should not coerce `-0` to `0`', function(assert) {
|
||||
assert.expect(1);
|
||||
|
||||
assert.strictEqual(1 / _.toInteger(-0), -Infinity);
|
||||
});
|
||||
}());
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
Reference in New Issue
Block a user