Coverage for app / backend / src / tests / test_localize.py: 100%
17 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-01 13:56 +0000
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-01 13:56 +0000
1from datetime import date, datetime, time
2from zoneinfo import ZoneInfo
4from couchers.i18n.localize import localize_date, localize_datetime, localize_time, localize_timezone
7def test_localize_date() -> None:
8 assert localize_date(date(2000, 1, 2), "en-US") == "Jan 2, 2000"
9 assert localize_date(date(2000, 1, 2), "fr-FR") == "2 janv. 2000"
12def test_localize_time() -> None:
13 assert localize_time(time(14, 5), "en-US") == "2:05:00 PM"
14 assert localize_time(time(14, 5), "fr-FR") == "14:05:00"
17def test_localize_datetime() -> None:
18 utc = ZoneInfo("Etc/UTC")
19 value = datetime(2000, 1, 2, 14, 5, tzinfo=utc)
20 assert localize_datetime(value, utc, "en-US") == "Jan 2, 2000, 2:05:00 PM"
21 assert localize_datetime(value, utc, "fr-FR") == "2 janv. 2000, 14:05:00"
24def test_localize_timezone() -> None:
25 assert localize_timezone(ZoneInfo("Europe/London"), "en") == "United Kingdom Time"
26 assert localize_timezone(ZoneInfo("Europe/London"), "es") == "hora de Reino Unido"