import {describe, expect, it} from 'vitest' import {clampHours, clampMinutes, formatTime, padSegment, parseTime} from './timeFormat' describe('timeFormat', () => { it('parse une chaîne HH:MM valide', () => { expect(parseTime('09:05')).toEqual({hours: 9, minutes: 5}) }) it('renvoie null pour vide ou invalide', () => { expect(parseTime('')).toBeNull() expect(parseTime(null)).toBeNull() expect(parseTime('abc')).toBeNull() expect(parseTime('12')).toBeNull() }) it('clamp les valeurs hors bornes au parsing', () => { expect(parseTime('99:88')).toEqual({hours: 23, minutes: 59}) }) it('formate avec zéro-padding', () => { expect(formatTime(9, 5)).toBe('09:05') expect(formatTime(0, 0)).toBe('00:00') }) it('clamp et pad les helpers', () => { expect(clampHours(30)).toBe(23) expect(clampHours(-2)).toBe(0) expect(clampMinutes(75)).toBe(59) expect(padSegment(7)).toBe('07') }) })