UNPKG

@lifi/widget

Version:

LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.

47 lines 2.4 kB
import { describe, expect, it } from 'vitest'; import { formatInputAmount } from './format.js'; describe('formatInputAmount', () => { it('should handle empty input', () => { expect(formatInputAmount('')).toBe(''); }); it('should handle whitespace input', () => { expect(formatInputAmount(' ')).toBe(''); }); it('should limit decimals', () => { expect(formatInputAmount('123.456789', 2, true)).toBe('123.45'); expect(formatInputAmount('123.456789', 2, false)).toBe('123.45'); }); it('should handle leading and trailing zeros', () => { expect(formatInputAmount('00123', 2, true)).toBe('00123'); expect(formatInputAmount('00123', 2, false)).toBe('123'); expect(formatInputAmount('123.45000', 6, true)).toBe('123.45000'); expect(formatInputAmount('123.45000', 6, false)).toBe('123.45'); }); it('should handle invalid input', () => { expect(formatInputAmount('abc')).toBe(''); expect(formatInputAmount('-')).toBe(''); expect(formatInputAmount('123.456789abc', 2, true)).toBe('123.45'); expect(formatInputAmount('123.456789abc', 2, false)).toBe('123.45'); }); it('should normalize input (trim, commas, multiple dots)', () => { expect(formatInputAmount(' 1,23 ', null, true)).toBe('1.23'); expect(formatInputAmount(' 1,23 ', null, false)).toBe('1.23'); expect(formatInputAmount('1.2.3', null, true)).toBe('1.23'); expect(formatInputAmount('1.2.3', null, false)).toBe('1.23'); expect(formatInputAmount('..5', null, true)).toBe('.5'); expect(formatInputAmount('..5', null, false)).toBe('0.5'); }); it('should handle zero input', () => { expect(formatInputAmount('0', null, true)).toBe('0'); expect(formatInputAmount('00', null, true)).toBe('00'); expect(formatInputAmount('0.00', 2, true)).toBe('0.00'); expect(formatInputAmount('.0', 2, true)).toBe('.0'); expect(formatInputAmount('0..', 2, true)).toBe('0.'); expect(formatInputAmount('0', null, false)).toBe(''); expect(formatInputAmount('00', null, false)).toBe(''); expect(formatInputAmount('0.00', 2, false)).toBe(''); expect(formatInputAmount('.0', 2, false)).toBe(''); expect(formatInputAmount('0..', 2, false)).toBe(''); }); }); //# sourceMappingURL=format.test.js.map