fix: bound money conversion after cents scaling
This commit is contained in:
@@ -37,9 +37,12 @@ describe('exact decimal ISK conversion', () => {
|
||||
expect(() => decimalIskToCents(`1e${'0'.repeat(8191)}`)).toThrow('input exceeds resource bounds');
|
||||
expect(() => decimalIskToCents('1e1001')).toThrow('exponent is outside bounds');
|
||||
expect(() => decimalIskToCents('1e-1001')).toThrow('exponent is outside bounds');
|
||||
expect(decimalIskToCents('1e1000')).toBe(`1${'0'.repeat(1002)}`);
|
||||
expect(decimalIskToCents('1e998')).toBe(`1${'0'.repeat(1000)}`);
|
||||
expect(() => decimalIskToCents('1e999')).toThrow('shift exceeds resource bounds');
|
||||
expect(() => decimalIskToCents('1e1000')).toThrow('shift exceeds resource bounds');
|
||||
expect(decimalIskToCents(`1.${'0'.repeat(1002)}`)).toBe('100');
|
||||
expect(() => decimalIskToCents(`1.${'0'.repeat(1003)}`)).toThrow('shift exceeds resource bounds');
|
||||
expect(decimalIskToCents(`0.${'0'.repeat(999)}1`)).toBe('0');
|
||||
expect(() => decimalIskToCents(`0.${'0'.repeat(1000)}1`)).toThrow('shift exceeds resource bounds');
|
||||
expect(decimalIskToCents('1'.repeat(4096))).toBe(`${BigInt('1'.repeat(4096)) * 100n}`);
|
||||
expect(() => decimalIskToCents('1'.repeat(4097))).toThrow('coefficient exceeds resource bounds');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user