test for utils.toBigNumber
This commit is contained in:
parent
60ae274f34
commit
50fc61155e
|
@ -2056,9 +2056,7 @@ var toBigNumber = function(number) {
|
|||
if (isBigNumber(number))
|
||||
return number;
|
||||
|
||||
if (isString(number) && number.indexOf('0x') === 0)
|
||||
return new BigNumber(number, 16);
|
||||
|
||||
// TODO: check if we need to check for hex here
|
||||
return new BigNumber(number.toString(10), 10);
|
||||
};
|
||||
|
||||
|
@ -2124,7 +2122,8 @@ module.exports = {
|
|||
toBigNumber: toBigNumber,
|
||||
isBigNumber: isBigNumber,
|
||||
isAddress: isAddress,
|
||||
isFunction: isFunction
|
||||
isFunction: isFunction,
|
||||
isString: isString
|
||||
};
|
||||
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -235,9 +235,7 @@ var toBigNumber = function(number) {
|
|||
if (isBigNumber(number))
|
||||
return number;
|
||||
|
||||
if (isString(number) && number.indexOf('0x') === 0)
|
||||
return new BigNumber(number, 16);
|
||||
|
||||
// TODO: check if we need to check for hex here
|
||||
return new BigNumber(number.toString(10), 10);
|
||||
};
|
||||
|
||||
|
@ -303,6 +301,7 @@ module.exports = {
|
|||
toBigNumber: toBigNumber,
|
||||
isBigNumber: isBigNumber,
|
||||
isAddress: isAddress,
|
||||
isFunction: isFunction
|
||||
isFunction: isFunction,
|
||||
isString: isString
|
||||
};
|
||||
|
||||
|
|
|
@ -1,13 +1,49 @@
|
|||
var assert = require('assert');
|
||||
var chai = require('chai');
|
||||
var utils = require('../lib/utils.js');
|
||||
var BigNumber = require('bignumber.js');
|
||||
var assert = chai.assert;
|
||||
|
||||
var tests = [
|
||||
{ value: 1, expected: '1' },
|
||||
{ value: '1', expected: '1' },
|
||||
{ value: '0x1', expected: '1'},
|
||||
{ value: '0x01', expected: '1'},
|
||||
{ value: 15, expected: '15'},
|
||||
{ value: '15', expected: '15'},
|
||||
{ value: '0xf', expected: '15'},
|
||||
{ value: '0x0f', expected: '15'},
|
||||
{ value: -1, expected: '-1'},
|
||||
{ value: '-1', expected: '-1'},
|
||||
{ value: '-0x1', expected: '-1'},
|
||||
{ value: '-0x01', expected: '-1'},
|
||||
{ value: -15, expected: '-15'},
|
||||
{ value: '-15', expected: '-15'},
|
||||
{ value: '-0xf', expected: '-15'},
|
||||
{ value: '-0x0f', expected: '-15'},
|
||||
{ value: '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', expected: '115792089237316195423570985008687907853269984665640564039457584007913129639935'},
|
||||
{ value: '0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd', expected: '115792089237316195423570985008687907853269984665640564039457584007913129639933'},
|
||||
{ value: '-0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', expected: '-115792089237316195423570985008687907853269984665640564039457584007913129639935'},
|
||||
{ value: '-0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd', expected: '-115792089237316195423570985008687907853269984665640564039457584007913129639933'},
|
||||
{ value: 0, expected: '0'},
|
||||
{ value: '0', expected: '0'},
|
||||
{ value: '0x0', expected: '0'},
|
||||
{ value: -0, expected: '0'},
|
||||
{ value: '-0', expected: '0'},
|
||||
{ value: '-0x0', expected: '0'}
|
||||
];
|
||||
|
||||
describe('utils', function () {
|
||||
describe('toBigNumber', function () {
|
||||
it('should return the correct value', function () {
|
||||
|
||||
assert.equal(utils.isBigNumber(utils.toBigNumber(100000)), true);
|
||||
assert.equal(utils.toBigNumber(100000).toString(10), '100000');
|
||||
assert.equal(utils.toBigNumber(100000).toString(10), '100000');
|
||||
});
|
||||
|
||||
tests.forEach(function (test) {
|
||||
it('should turn ' + test.value + ' to ' + test.expected, function () {
|
||||
assert.equal(utils.toBigNumber(test.value).toString(10), test.expected);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue