diff --git a/packages/grafana-data/src/valueFormats/dateTimeFormatters.test.ts b/packages/grafana-data/src/valueFormats/dateTimeFormatters.test.ts index 8537fed6c6b..826538555d6 100644 --- a/packages/grafana-data/src/valueFormats/dateTimeFormatters.test.ts +++ b/packages/grafana-data/src/valueFormats/dateTimeFormatters.test.ts @@ -287,19 +287,19 @@ describe('clock', () => { describe('size greater than or equal 1 hour', () => { it('default', () => { const str = toClock(7199999); - expect(formattedValueToString(str)).toBe('01h:59m:59s:999ms'); + expect(formattedValueToString(str)).toBe('1h:59m:59s:999ms'); }); it('decimals equals 0', () => { const str = toClock(7199999, 0); - expect(formattedValueToString(str)).toBe('01h'); + expect(formattedValueToString(str)).toBe('1h'); }); it('decimals equals 1', () => { const str = toClock(7199999, 1); - expect(formattedValueToString(str)).toBe('01h:59m'); + expect(formattedValueToString(str)).toBe('1h:59m'); }); it('decimals equals 2', () => { const str = toClock(7199999, 2); - expect(formattedValueToString(str)).toBe('01h:59m:59s'); + expect(formattedValueToString(str)).toBe('1h:59m:59s'); }); }); describe('size greater than or equal 1 day', () => { @@ -320,6 +320,24 @@ describe('clock', () => { expect(formattedValueToString(str)).toBe('24h:59m:59s'); }); }); + describe('size greater than or equal 100 hours', () => { + it('default', () => { + const str = toClock(363599999); + expect(formattedValueToString(str)).toBe('100h:59m:59s:999ms'); + }); + it('decimals equals 0', () => { + const str = toClock(363599999, 0); + expect(formattedValueToString(str)).toBe('100h'); + }); + it('decimals equals 1', () => { + const str = toClock(363599999, 1); + expect(formattedValueToString(str)).toBe('100h:59m'); + }); + it('decimals equals 2', () => { + const str = toClock(363599999, 2); + expect(formattedValueToString(str)).toBe('100h:59m:59s'); + }); + }); }); describe('to nanoseconds', () => { diff --git a/packages/grafana-data/src/valueFormats/dateTimeFormatters.ts b/packages/grafana-data/src/valueFormats/dateTimeFormatters.ts index 62980e7dc2f..2d2db131ebc 100644 --- a/packages/grafana-data/src/valueFormats/dateTimeFormatters.ts +++ b/packages/grafana-data/src/valueFormats/dateTimeFormatters.ts @@ -275,7 +275,7 @@ export function toClock(size: number, decimals?: DecimalCount): FormattedValue { let format = 'mm\\m:ss\\s:SSS\\m\\s'; - const hours = `${('0' + Math.floor(duration(size, 'milliseconds').asHours())).slice(-2)}h`; + const hours = `${Math.floor(duration(size, 'milliseconds').asHours())}h`; if (decimals === 0) { format = '';