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

1from datetime import date, datetime, time 

2from zoneinfo import ZoneInfo 

3 

4from couchers.i18n.localize import localize_date, localize_datetime, localize_time, localize_timezone 

5 

6 

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" 

10 

11 

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" 

15 

16 

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" 

22 

23 

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"