diff --git a/main/utils/format-time.ts b/main/utils/format-time.ts index 452b2684..5dfdbedc 100644 --- a/main/utils/format-time.ts +++ b/main/utils/format-time.ts @@ -16,7 +16,7 @@ const formatTime = (time: number, options: any) => { const format = (time: number, {showMilliseconds} = {showMilliseconds: false}) => { const formatString = `${time >= 60 * 60 ? 'hh:m' : ''}m:ss${showMilliseconds ? '.SS' : ''}`; - return moment().startOf('day').millisecond(time * 1000).format(formatString); + return moment().startOf('day').add(time, 'seconds').format(formatString); }; export default formatTime; diff --git a/renderer/utils/format-time.js b/renderer/utils/format-time.js index 161dc19f..72b1d248 100644 --- a/renderer/utils/format-time.js +++ b/renderer/utils/format-time.js @@ -16,7 +16,7 @@ const formatTime = (time, options) => { const format = (time, {showMilliseconds} = {}) => { const formatString = `${time >= 60 * 60 ? 'hh:m' : ''}m:ss${showMilliseconds ? '.SS' : ''}`; - return moment().startOf('day').millisecond(time * 1000).format(formatString); + return moment().startOf('day').add(time, 'seconds').format(formatString); }; export default formatTime; diff --git a/test/format-time.ts b/test/format-time.ts new file mode 100644 index 00000000..084cea74 --- /dev/null +++ b/test/format-time.ts @@ -0,0 +1,33 @@ +import test from 'ava'; +import formatTime from '../main/utils/format-time'; + +test('formatTime formats seconds correctly', t => { + t.is(formatTime(0), '0:00'); + t.is(formatTime(5), '0:05'); + t.is(formatTime(30), '0:30'); + t.is(formatTime(65), '1:05'); + t.is(formatTime(125), '2:05'); +}); + +test('formatTime formats minutes and seconds correctly', t => { + t.is(formatTime(60), '1:00'); + t.is(formatTime(90), '1:30'); + t.is(formatTime(3665), '61:05'); +}); + +test('formatTime formats hours correctly', t => { + t.is(formatTime(3600), '1:0:00'); + t.is(formatTime(3661), '1:1:01'); + t.is(formatTime(7325), '2:2:05'); +}); + +test('formatTime shows milliseconds when requested', t => { + const result = formatTime(65.123, {showMilliseconds: true}); + t.is(result, '1:05.12'); +}); + +test('formatTime handles extra time correctly', t => { + const result = formatTime(65, {extra: 30}); + t.is(result, '1:05 (0:30)'); +}); +