mirror of
https://github.com/apache/superset.git
synced 2024-09-19 12:09:42 -04:00
33 lines
1.2 KiB
JavaScript
33 lines
1.2 KiB
JavaScript
|
import NumberFormatterRegistry from '../src/NumberFormatterRegistry';
|
||
|
import NumberFormatter from '../src/NumberFormatter';
|
||
|
|
||
|
describe('NumberFormatterRegistry', () => {
|
||
|
let registry;
|
||
|
beforeEach(() => {
|
||
|
registry = new NumberFormatterRegistry();
|
||
|
});
|
||
|
describe('.get(format)', () => {
|
||
|
it('creates and returns a new formatter if does not exist', () => {
|
||
|
const formatter = registry.get('.2f');
|
||
|
expect(formatter).toBeInstanceOf(NumberFormatter);
|
||
|
expect(formatter.format(100)).toEqual('100.00');
|
||
|
});
|
||
|
it('returns an existing formatter if already exists', () => {
|
||
|
const formatter = registry.get('.2f');
|
||
|
const formatter2 = registry.get('.2f');
|
||
|
expect(formatter).toBe(formatter2);
|
||
|
});
|
||
|
it('falls back to default format if format is not specified', () => {
|
||
|
registry.setDefaultKey('.1f');
|
||
|
const formatter = registry.get();
|
||
|
expect(formatter.format(100)).toEqual('100.0');
|
||
|
});
|
||
|
});
|
||
|
describe('.format(format, value)', () => {
|
||
|
it('return the value with the specified format', () => {
|
||
|
expect(registry.format('.2f', 100)).toEqual('100.00');
|
||
|
expect(registry.format(',d', 100)).toEqual('100');
|
||
|
});
|
||
|
});
|
||
|
});
|