comparison 0.9.x/babel/tests/core.py @ 537:621e636b988e stable

merge r586 from trunk
author fschwarz
date Fri, 11 Mar 2011 16:25:08 +0000
parents 5b7d3f9f7d74
children
comparison
equal deleted inserted replaced
526:22ad1d9936e7 537:621e636b988e
10 # This software consists of voluntary contributions made by many 10 # This software consists of voluntary contributions made by many
11 # individuals. For the exact contribution history, see the revision 11 # individuals. For the exact contribution history, see the revision
12 # history and logs, available at http://babel.edgewall.org/log/. 12 # history and logs, available at http://babel.edgewall.org/log/.
13 13
14 import doctest 14 import doctest
15 import os
15 import unittest 16 import unittest
16 17
17 from babel import core 18 from babel import core
19 from babel.core import default_locale
20
21 class DefaultLocaleTest(unittest.TestCase):
22
23 def setUp(self):
24 self._old_locale_settings = self._current_locale_settings()
25
26 def tearDown(self):
27 self._set_locale_settings(self._old_locale_settings)
28
29 def _current_locale_settings(self):
30 settings = {}
31 for name in ('LANGUAGE', 'LC_ALL', 'LC_CTYPE', 'LANG'):
32 settings[name] = os.environ[name]
33 return settings
34
35 def _set_locale_settings(self, settings):
36 for name, value in settings.items():
37 os.environ[name] = value
38
39 def test_ignore_invalid_locales_in_lc_ctype(self):
40 # This is a regression test specifically for a bad LC_CTYPE setting on
41 # MacOS X 10.6 (#200)
42 os.environ['LC_CTYPE'] = 'UTF-8'
43 # must not throw an exception
44 default_locale('LC_CTYPE')
18 45
19 def suite(): 46 def suite():
20 suite = unittest.TestSuite() 47 suite = unittest.TestSuite()
21 suite.addTest(doctest.DocTestSuite(core)) 48 suite.addTest(doctest.DocTestSuite(core))
49 suite.addTest(unittest.makeSuite(DefaultLocaleTest))
22 return suite 50 return suite
23 51
24 if __name__ == '__main__': 52 if __name__ == '__main__':
25 unittest.main(defaultTest='suite') 53 unittest.main(defaultTest='suite')
Copyright (C) 2012-2017 Edgewall Software