7
from testutils import setup_test_env
9
from softwarecenter.i18n import (
10
init_locale, get_language, get_languages, langcode_to_name)
12
class TestI18n(unittest.TestCase):
13
""" tests the sc i18n """
15
def test_langcode_to_name(self):
16
self.assertEqual(langcode_to_name("de"), "German")
18
def test_locale(self):
19
# needs lang + country code
20
os.environ["LANGUAGE"] = "zh_TW"
21
self.assertEqual(get_language(), "zh_TW")
23
os.environ["LANGUAGE"] = "fr_FR"
24
self.assertEqual(get_language(), "fr")
26
os.environ["LANGUAGE"] = "xx_XX"
27
self.assertEqual(get_language(), "en")
29
del os.environ["LANGUAGE"]
30
os.environ["LC_ALL"] = "C"
31
os.environ["LANG"] = "C"
32
self.assertEqual(get_language(), "en")
34
def test_invalid_get_languages(self):
35
# set LANGUAGE to a invalid language and verify that it correctly
36
# falls back to english
37
os.environ["LANGUAGE"] = "yxy_YYY"
38
self.assertEqual(get_languages(), ["en"])
40
def test_init_locale(self):
42
os.environ["LANGUAGE"] = ""
43
os.environ["LANG"] = "en_US.UTF-8"
45
self.assertEqual(locale.getlocale(locale.LC_ALL), ("en_US", "UTF-8"))
49
if __name__ == "__main__":
51
logging.basicConfig(level=logging.DEBUG)