glitch-soc/app/javascript/mastodon/utils/__tests__/numbers.ts

25 lines
983 B
TypeScript

import { DECIMAL_UNITS, toShortNumber } from '../numbers';
interface TableRow {
input: number;
base: number;
unit: number;
digits: number;
}
describe.each`
input | base | unit | digits
${10_000_000} | ${10} | ${DECIMAL_UNITS.MILLION} | ${0}
${2_789_123} | ${2.789123} | ${DECIMAL_UNITS.MILLION} | ${1}
${12_345_789} | ${12.345789} | ${DECIMAL_UNITS.MILLION} | ${0}
${10_000_000_000} | ${10} | ${DECIMAL_UNITS.BILLION} | ${0}
${12} | ${12} | ${DECIMAL_UNITS.ONE} | ${0}
${123} | ${123} | ${DECIMAL_UNITS.ONE} | ${0}
${1234} | ${1.234} | ${DECIMAL_UNITS.THOUSAND} | ${1}
${6666} | ${6.666} | ${DECIMAL_UNITS.THOUSAND} | ${1}
`('toShortNumber', ({ input, base, unit, digits }: TableRow) => {
test(`correctly formats ${input}`, () => {
expect(toShortNumber(input)).toEqual([base, unit, digits]);
});
});