diff --git a/src/tools/chronometer/chronometer.service.test.ts b/src/tools/chronometer/chronometer.service.test.ts index 5fdb3c72..6230ca2e 100644 --- a/src/tools/chronometer/chronometer.service.test.ts +++ b/src/tools/chronometer/chronometer.service.test.ts @@ -1,12 +1,13 @@ import { describe, expect, it } from 'vitest'; -import { formatChronometerTime } from './chronometer.service'; +import { formatMs } from './chronometer.service'; describe('chronometer', () => { describe('formatChronometerTime', () => { it('format the elapsed time', () => { - expect(formatChronometerTime({ elapsed: 123456 })).toEqual('02:03.456'); - expect(formatChronometerTime({ elapsed: 123456, msPerUnit: 100 })).toEqual('03:25:45.600'); - expect(formatChronometerTime({ elapsed: 12345600 })).toEqual('03:25:45.600'); + expect(formatMs(0)).toEqual('00:00.000'); + expect(formatMs(1)).toEqual('00:00.001'); + expect(formatMs(123456)).toEqual('02:03.456'); + expect(formatMs(12345600)).toEqual('03:25:45.600'); }); }); }); diff --git a/src/tools/chronometer/chronometer.service.ts b/src/tools/chronometer/chronometer.service.ts index a2e03b8a..62fb8195 100644 --- a/src/tools/chronometer/chronometer.service.ts +++ b/src/tools/chronometer/chronometer.service.ts @@ -1,10 +1,8 @@ -export function formatChronometerTime({ elapsed, msPerUnit = 1 }: { elapsed: number; msPerUnit?: number }) { - const elapsedMs = elapsed * msPerUnit; - - const ms = elapsedMs % 1000; - const secs = ((elapsedMs - ms) / 1000) % 60; - const mins = (((elapsedMs - ms) / 1000 - secs) / 60) % 60; - const hrs = (((elapsedMs - ms) / 1000 - secs) / 60 - mins) / 60; +export function formatMs(msTotal: number) { + const ms = msTotal % 1000; + const secs = ((msTotal - ms) / 1000) % 60; + const mins = (((msTotal - ms) / 1000 - secs) / 60) % 60; + const hrs = (((msTotal - ms) / 1000 - secs) / 60 - mins) / 60; const hrsString = hrs > 0 ? `${hrs.toString().padStart(2, '0')}:` : ''; return `${hrsString}${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}.${ms diff --git a/src/tools/chronometer/chronometer.vue b/src/tools/chronometer/chronometer.vue index 2efcdc10..16009ff0 100644 --- a/src/tools/chronometer/chronometer.vue +++ b/src/tools/chronometer/chronometer.vue @@ -1,11 +1,11 @@