Assert on non-integer inputs (#411)
* Assert on non-integer inputs * Return input value in assert * alphabetical * assert after 0 return * Lint issues (after on-GH fix)
This commit is contained in:
@@ -9,6 +9,12 @@ import formatBalance from './formatBalance';
|
||||
describe('formatBalance', () => {
|
||||
const TESTVAL = new BN('123456789000');
|
||||
|
||||
it('does not allow float inputs', () => {
|
||||
expect(
|
||||
() => formatBalance(0.01234)
|
||||
).toThrow(/integer input value/);
|
||||
});
|
||||
|
||||
it('formats empty to 0', () => {
|
||||
expect(formatBalance()).toEqual('0');
|
||||
expect(formatBalance('0')).toEqual('0');
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
|
||||
import BN from 'bn.js';
|
||||
|
||||
import assert from '../assert';
|
||||
import isUndefined from '../is/undefined';
|
||||
import { SI, SI_MID, SiDef, calcSi, findSi } from './si';
|
||||
import formatDecimal from './formatDecimal';
|
||||
import { SI, SI_MID, SiDef, calcSi, findSi } from './si';
|
||||
|
||||
type Defaults = {
|
||||
decimals: number,
|
||||
@@ -36,6 +37,8 @@ function _formatBalance (input?: number | string | BN, withSi: boolean = true, d
|
||||
return '0';
|
||||
}
|
||||
|
||||
assert(/^\d+$/.test(text), `Non-integer input value '${text}' supplied to balanceFormat`);
|
||||
|
||||
// NOTE We start at midpoint (8) minus 1 - this means that values display as
|
||||
// 123.456 instead of 0.123k (so always 6 relevant). Additionally we us ceil
|
||||
// so there are at most 3 decimal before the decimal seperator
|
||||
|
||||
Reference in New Issue
Block a user