mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-07 10:07:48 +00:00
Ensure _.toString produces the correct result for Object(-0).
This commit is contained in:
@@ -9760,15 +9760,12 @@
|
|||||||
* @returns {string} Returns the string.
|
* @returns {string} Returns the string.
|
||||||
*/
|
*/
|
||||||
function toString(value) {
|
function toString(value) {
|
||||||
// Preserve sign of `0`.
|
|
||||||
if (value === 0) {
|
|
||||||
return (1 / value) == INFINITY ? '0' : '-0';
|
|
||||||
}
|
|
||||||
// Exit early for strings to avoid a performance hit in some environments.
|
// Exit early for strings to avoid a performance hit in some environments.
|
||||||
if (typeof value == 'string') {
|
if (typeof value == 'string') {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
return value == null ? '' : (value + '');
|
var result = value == null ? '' : (value + '');
|
||||||
|
return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------*/
|
||||||
|
|||||||
12
test/test.js
12
test/test.js
@@ -19440,10 +19440,16 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
QUnit.test('should preserve sign of `0`', function(assert) {
|
QUnit.test('should preserve sign of `0`', function(assert) {
|
||||||
assert.expect(2);
|
assert.expect(1);
|
||||||
|
|
||||||
assert.strictEqual(_.toString(0), '0');
|
var values = [0, Object(0), -0, Object(-0)],
|
||||||
assert.strictEqual(_.toString(-0), '-0');
|
expected = ['0', '0', '-0', '-0'];
|
||||||
|
|
||||||
|
var actual = lodashStable.map(values, function(value) {
|
||||||
|
return _.toString(value);
|
||||||
|
});
|
||||||
|
|
||||||
|
assert.deepEqual(actual, expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
QUnit.test('should return the `toString` result of the wrapped value', function(assert) {
|
QUnit.test('should return the `toString` result of the wrapped value', function(assert) {
|
||||||
|
|||||||
Reference in New Issue
Block a user