comparison babel/tests/core.py @ 590:6f86d60dab56 trunk

change repr output for babel.Locale so all attributes (territory, script, variant) are shown by itself. This should help identifying bad usage of the Locale class (e.g. Locale('de_DE') instead of Locale('de', 'DE'), #279
author fschwarz
date Thu, 09 Aug 2012 06:56:23 +0000
parents c938dbfb8944
children d1618dfaf114
comparison
equal deleted inserted replaced
589:c8bef607128c 590:6f86d60dab56
14 import doctest 14 import doctest
15 import os 15 import os
16 import unittest 16 import unittest
17 17
18 from babel import core 18 from babel import core
19 from babel.core import default_locale 19 from babel.core import default_locale, Locale
20
21
22 class LocaleTest(unittest.TestCase):
23
24 def test_locale_provides_access_to_cldr_locale_data(self):
25 locale = Locale('en', 'US')
26 self.assertEqual(u'English (United States)', locale.display_name)
27 self.assertEqual(u'.', locale.number_symbols['decimal'])
28
29 def test_repr(self):
30 self.assertEqual("Locale('de', territory='DE')",
31 repr(Locale('de', 'DE')))
32 self.assertEqual("Locale('zh', territory='CN', script='Hans')",
33 repr(Locale('zh', 'CN', script='Hans')))
34
20 35
21 class DefaultLocaleTest(unittest.TestCase): 36 class DefaultLocaleTest(unittest.TestCase):
22 37
23 def setUp(self): 38 def setUp(self):
24 self._old_locale_settings = self._current_locale_settings() 39 self._old_locale_settings = self._current_locale_settings()
41 # MacOS X 10.6 (#200) 56 # MacOS X 10.6 (#200)
42 os.environ['LC_CTYPE'] = 'UTF-8' 57 os.environ['LC_CTYPE'] = 'UTF-8'
43 # must not throw an exception 58 # must not throw an exception
44 default_locale('LC_CTYPE') 59 default_locale('LC_CTYPE')
45 60
61
46 def suite(): 62 def suite():
47 suite = unittest.TestSuite() 63 suite = unittest.TestSuite()
48 suite.addTest(doctest.DocTestSuite(core)) 64 suite.addTest(doctest.DocTestSuite(core))
65 suite.addTest(unittest.makeSuite(LocaleTest))
49 suite.addTest(unittest.makeSuite(DefaultLocaleTest)) 66 suite.addTest(unittest.makeSuite(DefaultLocaleTest))
50 return suite 67 return suite
51 68
52 if __name__ == '__main__': 69 if __name__ == '__main__':
53 unittest.main(defaultTest='suite') 70 unittest.main(defaultTest='suite')
Copyright (C) 2012-2017 Edgewall Software