mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-06 14:11:35 +02:00
formatTimeOnly calls date.toLocaleTimeString([], …) which respects the user's locale by design — the en_DK.UTF-8 locale uses "." as the time separator, so the function correctly returns "02.30 pm" / "14.30" for a Danish-English user. The two assertions hard-coded ":" as the separator, which made the tests fail under any locale that doesn't use ":". The implementation was right, the tests were wrong. Switch the regex to use \D+ (any non-digit, one or more) for the separator. This tests the actual contract — "hours and minutes, separated somehow" — without coupling to a separator that varies by locale (en_DK uses ".", some en_* locales use a narrow no-break space at U+202F, most others use ":"). Verified passing under en_DK.UTF-8, en_US.UTF-8, and de_DE.UTF-8. Audited every other toLocaleTimeString / toLocaleString call site in the test suite — no other places hard-code separator characters.