import { describe, expect, test } from 'vitest'; import { formatDuration } from './duration'; describe('formatDuration', () => { test('under a minute renders 0:SS', () => { expect(formatDuration(42)).toBe('0:42'); expect(formatDuration(5)).toBe('0:05'); }); test('under an hour renders M:SS', () => { expect(formatDuration(242)).toBe('4:02'); expect(formatDuration(600)).toBe('10:00'); }); test('at or above an hour renders H:MM:SS', () => { expect(formatDuration(3600)).toBe('1:00:00'); expect(formatDuration(3723)).toBe('1:02:03'); expect(formatDuration(36000)).toBe('10:00:00'); }); test('zero renders 0:00', () => { expect(formatDuration(0)).toBe('0:00'); }); test('negative values clamp to 0:00', () => { expect(formatDuration(-1)).toBe('0:00'); expect(formatDuration(-100)).toBe('0:00'); }); test('fractional seconds floor', () => { expect(formatDuration(61.9)).toBe('1:01'); }); });