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
« 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
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)
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
35def test_date_format():
36 d, t, n = intl.formatters(intl.locale('de_DE'))
37 k = datetimex.new(2000, 1, 2, tz='utc')
39 assert d.short(k) == '02.01.00'
40 assert d.medium(k) == '02.01.2000'
41 assert d.long(k) == '2. Januar 2000'
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')
48 assert t.short(k) == '03:04'
49 assert t.medium(k) == '03:04:05'
50 assert t.long(k) == '03:04:05 MEZ'
52 k = datetimex.new(2000, 1, 2, 3, 4, 5, tz='Australia/Sydney')
53 assert t.long(k) == '03:04:05 +1100'
56def test_number_format():
57 d, t, n = intl.formatters(intl.locale('de_DE'))
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%'
64 d, t, n = intl.formatters(intl.locale('en_US'))
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'