Use @superset-ui/number-format and @superset-ui/time-format for formatting. (#6470)

refactor: proxy all d3 number and time formatting calls
This commit is contained in:
Krist Wongsuphasawat
2018-12-04 13:24:07 -08:00
committed by GitHub
parent cc3a625a4b
commit fcec748b62
29 changed files with 162 additions and 346 deletions

View File

@@ -1,11 +1,26 @@
import { formatLabel, tryNumify } from '../../../../src/visualizations/nvd3/utils';
import { getTimeOrNumberFormatter, formatLabel, tryNumify } from '../../../../src/visualizations/nvd3/utils';
describe('nvd3/utils', () => {
const verboseMap = {
foo: 'Foo',
bar: 'Bar',
};
describe('getTimeOrNumberFormatter(format)', () => {
it('is a function', () => {
expect(typeof getTimeOrNumberFormatter).toBe('function');
});
it('returns a date formatter if format is smart_date', () => {
const time = new Date(Date.UTC(2018, 10, 21, 22, 11));
expect(getTimeOrNumberFormatter('smart_date')(time)).toBe('10:11');
});
it('returns a number formatter otherwise', () => {
expect(getTimeOrNumberFormatter('.3s')(3000000)).toBe('3.00M');
expect(getTimeOrNumberFormatter()(3000100)).toBe('3.00M');
});
});
describe('formatLabel()', () => {
const verboseMap = {
foo: 'Foo',
bar: 'Bar',
};
it('formats simple labels', () => {
expect(formatLabel('foo')).toBe('foo');
expect(formatLabel(['foo'])).toBe('foo');
@@ -22,6 +37,7 @@ describe('nvd3/utils', () => {
expect(formatLabel(['foo', 'bar', 'baz', '2 hours offset'], verboseMap)).toBe('Foo, Bar, baz, 2 hours offset');
});
});
describe('tryNumify()', () => {
it('tryNumify works as expected', () => {
expect(tryNumify(5)).toBe(5);