diff 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
line wrap: on
line diff
--- a/babel/tests/core.py
+++ b/babel/tests/core.py
@@ -16,7 +16,22 @@
 import unittest
 
 from babel import core
-from babel.core import default_locale
+from babel.core import default_locale, Locale
+
+
+class LocaleTest(unittest.TestCase):
+    
+    def test_locale_provides_access_to_cldr_locale_data(self):
+        locale = Locale('en', 'US')
+        self.assertEqual(u'English (United States)', locale.display_name)
+        self.assertEqual(u'.', locale.number_symbols['decimal'])
+    
+    def test_repr(self):
+        self.assertEqual("Locale('de', territory='DE')", 
+                         repr(Locale('de', 'DE')))
+        self.assertEqual("Locale('zh', territory='CN', script='Hans')", 
+                         repr(Locale('zh', 'CN', script='Hans')))
+    
 
 class DefaultLocaleTest(unittest.TestCase):
     
@@ -43,9 +58,11 @@
         # must not throw an exception
         default_locale('LC_CTYPE')
 
+
 def suite():
     suite = unittest.TestSuite()
     suite.addTest(doctest.DocTestSuite(core))
+    suite.addTest(unittest.makeSuite(LocaleTest))
     suite.addTest(unittest.makeSuite(DefaultLocaleTest))
     return suite
 
Copyright (C) 2012-2017 Edgewall Software