File: test_i18n.py

package info (click to toggle)
python-formencode 2.1.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,856 kB
  • sloc: python: 6,772; makefile: 130; sh: 96; javascript: 61
file content (139 lines) | stat: -rw-r--r-- 2,520 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
import formencode

ne = formencode.validators.NotEmpty()


def _test_builtins(func):
    def dummy(s):
        return "builtins dummy"
    import builtins
    builtins._ = dummy

    try:
        ne.to_python("")
    except formencode.api.Invalid as e:
        func(e)

    del builtins._


def test_builtins():
    def withbuiltins(e):
        assert str(e) == "builtins dummy"

    _test_builtins(withbuiltins)


def test_bultins_disabled():
    def withoutbuiltins(e):
        assert str(e) != "builtins dummy"

    ne.use_builtins_gettext = False
    _test_builtins(withoutbuiltins)


def test_state():
    class st:
        def _(self, s):
            return "state dummy"

    try:
        ne.to_python("", state=st())
    except formencode.api.Invalid as e:
        assert str(e) == "state dummy"


def _test_lang(language, notemptytext):

    formencode.api.set_stdtranslation(languages=[language])

    try:
        ne.to_python("")
    except formencode.api.Invalid as e:
        assert str(e) == notemptytext

    formencode.api.set_stdtranslation()  # set back to defaults


def test_de():
    _test_lang("de", "Bitte einen Wert eingeben")


def test_es():
    _test_lang("es", "Por favor introduzca un valor")


def test_pt_BR():
    _test_lang("pt_BR", "Por favor digite um valor")


def test_zh_TW():
    _test_lang("zh_TW", "請輸入值")


def test_sk():
    _test_lang("sk", "Zadajte hodnotu, prosím")


def test_ru():
    _test_lang("ru", "Необходимо ввести значение")


def test_sl():
    _test_lang("sl", "Prosim, izpolnite polje")


def test_pt_PT():
    _test_lang("pt_PT", "Por favor insira um valor")


def test_fr():
    _test_lang("fr", "Saisissez une valeur")


def test_nl():
    _test_lang("nl", "Voer een waarde in")


def test_pl():
    _test_lang("pl", "Proszę podać wartość")


def test_el():
    _test_lang("el", "Παρακαλούμε εισάγετε μια τιμή")


def test_zh_CN():
    _test_lang("zh_CN", "请输入一个值")


def test_cs():
    _test_lang("cs", "Prosím zadejte hodnotu")


def test_fi():
    _test_lang("fi", "Anna arvo")


def test_nb_NO():
    _test_lang("nb_NO", "Venligst fyll inn en verdi")


def test_it():
    _test_lang("it", "Inserire un dato")


def test_et():
    _test_lang("et", "Palun sisestada väärtus")


def test_lt():
    _test_lang("lt", "Prašome įvesti reikšmę")


def test_ja():
    _test_lang("ja", "入力してください")


def test_tr():
    _test_lang("tr", "Lütfen bir değer giriniz")