Coverage for gws-app/gws/lib/intl/_test.py: 0%

31 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-04-17 01:37 +0200

1import gws.lib.datetimex as datetimex 

2import gws.lib.intl as intl 

3 

4de = dict( 

5 uid='de_DE', 

6 dateFormatLong='d. MMMM y', 

7 dateFormatMedium='dd.MM.y', 

8 dateFormatShort='dd.MM.yy', 

9 dateUnits='JMT', 

10 dayNamesLong=['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], 

11 dayNamesNarrow=['S', 'M', 'D', 'M', 'D', 'F', 'S'], 

12 dayNamesShort=['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'], 

13 firstWeekDay=0, 

14 language3='deu', 

15 language='de', 

16 languageBib='ger', 

17 languageName='Deutsch', 

18 languageNameEn='German', 

19 monthNamesLong=['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], 

20 monthNamesNarrow=['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], 

21 monthNamesShort=['Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sept.', 'Okt.', 'Nov.', 'Dez.'], 

22 numberDecimal=',', 

23 numberGroup='.', 

24 territory='DE', 

25 territoryName='Deutschland', 

26) 

27 

28 

29def test_locale(): 

30 assert intl.locale('de').__dict__ == de 

31 assert intl.locale('de-DE').__dict__ == de 

32 assert intl.locale('de_DE').__dict__ == de 

33 

34 

35def test_date_format(): 

36 d, t, n = intl.formatters(intl.locale('de_DE')) 

37 k = datetimex.new(2000, 1, 2, tz='utc') 

38 

39 assert d.short(k) == '02.01.00' 

40 assert d.medium(k) == '02.01.2000' 

41 assert d.long(k) == '2. Januar 2000' 

42 

43 

44def test_time_format(): 

45 d, t, n = intl.formatters(intl.locale('de_DE')) 

46 k = datetimex.new(2000, 1, 2, 3, 4, 5, tz='Europe/Berlin') 

47 

48 assert t.short(k) == '03:04' 

49 assert t.medium(k) == '03:04:05' 

50 assert t.long(k) == '03:04:05 MEZ' 

51 

52 k = datetimex.new(2000, 1, 2, 3, 4, 5, tz='Australia/Sydney') 

53 assert t.long(k) == '03:04:05 +1100' 

54 

55 

56def test_number_format(): 

57 d, t, n = intl.formatters(intl.locale('de_DE')) 

58 

59 assert n.decimal(12345678.90000) == '12345678,9' 

60 assert n.grouped(12345678.90000) == '12.345.678,9' 

61 assert n.currency(12345678.9000, currency='EUR') == '12.345.678,90\xA0€' 

62 assert n.percent(0.1234) == '12\xA0%' 

63 

64 d, t, n = intl.formatters(intl.locale('en_US')) 

65 

66 assert n.decimal(12345678.90000) == '12345678.9' 

67 assert n.grouped(12345678.90000) == '12,345,678.9' 

68 assert n.currency(12345678.9000, currency='$') == '$12,345,678.90'