mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-11 11:27:50 +00:00
Ensure _.toInteger can return -0.
This commit is contained in:
@@ -9736,9 +9736,12 @@
|
|||||||
* // => -1e308
|
* // => -1e308
|
||||||
*/
|
*/
|
||||||
function toInteger(value) {
|
function toInteger(value) {
|
||||||
return (value == INFINITY || value == -INFINITY)
|
if (value === INFINITY || value === -INFINITY) {
|
||||||
? (value < 0 ? -1 : 1) * MAX_INTEGER
|
return (value < 0 ? -1 : 1) * MAX_INTEGER;
|
||||||
: (value - (value % 1)) || 0;
|
}
|
||||||
|
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);
|
||||||
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