-
Notifications
You must be signed in to change notification settings - Fork 0
/
translations.py
57 lines (49 loc) · 2.31 KB
/
translations.py
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
# -*- coding: utf-8 -*-
"""
.. codeauthor: mnl
"""
import unittest
import os
from rbtranslations import Translations
import rbtranslations
class Test(unittest.TestCase):
def testNormal(self):
inp_file = os.path.abspath \
(os.path.join(os.path.dirname(__file__), "trans.properties"))
with open(inp_file) as fp:
res = Translations(fp)
self.assertEqual(res._translations["very"], "# tricky")
self.assertEqual(res._translations[" long key "], " long value ")
self.assertEqual(res._translations["who"], "are you?")
self.assertEqual(res._translations["Hello"], "there")
self.assertEqual(res._translations[u"π".encode("utf-8")], "pi")
self.assertEqual(res._translations["umlaute"], u"äöüÄÖÜ".encode("utf-8"))
def testUtf8(self):
inp_file = os.path.abspath \
(os.path.join(os.path.dirname(__file__), "trans-utf8.properties"))
with open(inp_file) as fp:
res = Translations(fp)
self.assertEqual(res._translations[u"π".encode("utf-8")], "pi")
self.assertEqual(res._translations["umlaute"], u"äöüÄÖÜ".encode("utf-8"))
def testFound(self):
trans = rbtranslations.translation("test", __file__, ["de_AT", "fr_FR"])
self.assertEqual(trans.language, "de_AT")
trans = rbtranslations.translation("test", __file__, ["fr_FR", "de_AT"])
self.assertEqual(trans.language, "fr")
def testBundle(self):
trans = rbtranslations.translation("test", __file__, ["de_AT", "fr_FR"])
self.assertEqual(trans.language, "de_AT")
self.assertEqual(trans.gettext("pancake"), "Palatschinken")
self.assertEqual(trans.ugettext("mobile phone"), "Handy")
self.assertEqual(trans.ugettext("computer"), "ordinateur")
self.assertEqual(trans.ugettext("unknown"), "unknown")
self.assertEqual(trans.gettext("Result = "), "Ergebnis = ")
self.assertEqual(trans.ugettext(u"π"), u"pi")
self.assertEqual(trans.ugettext(u"π".encode("utf-8")), u"pi")
def testAvailable(self):
available = rbtranslations\
.available_translations("test", __file__, "en")
self.assertEqual(available, set(("en", "de", "de_AT", "fr")))
if __name__ == "__main__":
#import sys;sys.argv = ['', 'Test.testParse']
unittest.main()