[Zope-Checkins] CVS: Zope3/lib/python/Zope/I18n/tests - testGlobalTranslationService.py:1.4
Barry Warsaw
barry@wooz.org
Tue, 18 Jun 2002 14:24:31 -0400
Update of /cvs-repository/Zope3/lib/python/Zope/I18n/tests
In directory cvs.zope.org:/tmp/cvs-serv3776/lib/python/Zope/I18n/tests
Modified Files:
testGlobalTranslationService.py
Log Message:
testGlobalTranslationService(): Moved here
testSimpleFallbackTranslation(): Added to test for fallback languages.
=== Zope3/lib/python/Zope/I18n/tests/testGlobalTranslationService.py 1.3 => 1.4 ===
from Zope.I18n.GlobalTranslationService import GlobalTranslationService
from Zope.I18n.GettextMessageCatalog import GettextMessageCatalog
-from testIReadTranslationService import TestIReadTranslationService
+from testIReadTranslationService import TestIReadTranslationService, \
+ Environment
def testdir():
from Zope.I18n import tests
@@ -37,6 +38,38 @@
service.addCatalog(en_catalog)
service.addCatalog(de_catalog)
return service
+
+ def testSimpleNoTranslate(self):
+ translate = self._service.translate
+ raises = self.assertRaises
+ eq = self.assertEqual
+ # Unset fallback translation languages
+ self._service.setLanguageFallbacks([])
+ # Test that we have at least the minimum required arguments
+ raises(TypeError, translate, 'Hello')
+ # Test that a translation in an unsupported language returns the
+ # original message id unchanged, if there is no fallback language
+ eq(translate('default', 'short_greeting', target_language='es'),
+ 'short_greeting')
+ # Same test, but use the context argument instead of target_language
+ context = Environment()
+ eq(translate('default', 'short_greeting', context=context),
+ 'short_greeting')
+ # Test that at least one of context or target_language is given
+ raises(TypeError, translate, 'short_greeting', context=None)
+
+ def testSimpleFallbackTranslation(self):
+ translate = self._service.translate
+ raises = self.assertRaises
+ eq = self.assertEqual
+ # Test that a translation in an unsupported language returns a
+ # translation in the fallback language (by default, English)
+ eq(translate('default', 'short_greeting', target_language='es'),
+ u'Hello!')
+ # Same test, but use the context argument instead of target_language
+ context = Environment()
+ eq(translate('default', 'short_greeting', context=context),
+ u'Hello!')
def test_suite():