~paolorotolo/software-center/fix-for-963309

« back to all changes in this revision

Viewing changes to test/test_i18n.py

  • Committer: Danny Tamez
  • Date: 2012-01-19 16:17:34 UTC
  • mfrom: (2682 trunk)
  • mto: This revision was merged to the branch mainline in revision 2683.
  • Revision ID: danny.tamez@canonical.com-20120119161734-8viwvv83ph9d4kfx
MergeĀ fromĀ trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python
 
2
 
 
3
import os
 
4
import unittest
 
5
 
 
6
 
 
7
from testutils import setup_test_env
 
8
setup_test_env()
 
9
from softwarecenter.i18n import (
 
10
    init_locale, get_language,  get_languages, langcode_to_name)
 
11
 
 
12
class TestI18n(unittest.TestCase):
 
13
    """ tests the sc i18n """
 
14
 
 
15
    def test_langcode_to_name(self):
 
16
        self.assertEqual(langcode_to_name("de"), "German")
 
17
 
 
18
    def test_locale(self):
 
19
        # needs lang + country code
 
20
        os.environ["LANGUAGE"] = "zh_TW"
 
21
        self.assertEqual(get_language(), "zh_TW")
 
22
        # language only
 
23
        os.environ["LANGUAGE"] = "fr_FR"
 
24
        self.assertEqual(get_language(), "fr")
 
25
        # not existing one
 
26
        os.environ["LANGUAGE"] = "xx_XX"
 
27
        self.assertEqual(get_language(), "en")
 
28
        # LC_ALL, no language
 
29
        del os.environ["LANGUAGE"]
 
30
        os.environ["LC_ALL"] = "C"
 
31
        os.environ["LANG"] = "C"
 
32
        self.assertEqual(get_language(), "en")
 
33
 
 
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"])
 
39
 
 
40
    def test_init_locale(self):
 
41
        import locale
 
42
        os.environ["LANGUAGE"] = ""
 
43
        os.environ["LANG"] = "en_US.UTF-8"
 
44
        init_locale()
 
45
        self.assertEqual(locale.getlocale(locale.LC_ALL), ("en_US", "UTF-8"))
 
46
        
 
47
 
 
48
 
 
49
if __name__ == "__main__":
 
50
    import logging
 
51
    logging.basicConfig(level=logging.DEBUG)
 
52
    unittest.main()