def setUp(self): super(TranslateTest, self).setUp() # Setup the registries ztapi.provideAdapter(IHTTPRequest, IUserPreferredCharsets, HTTPCharsets) ztapi.provideUtility(IFactory, Factory(MessageCatalog), 'zope.app.MessageCatalog') domain = TranslationDomain() domain.domain = 'default' en_catalog = MessageCatalog('en', 'default') de_catalog = MessageCatalog('de', 'default') en_catalog.setMessage('short_greeting', 'Hello!') de_catalog.setMessage('short_greeting', 'Hallo!') en_catalog.setMessage('greeting', 'Hello $name, how are you?') de_catalog.setMessage('greeting', 'Hallo $name, wie geht es Dir?') domain['en-1'] = en_catalog domain['de-1'] = de_catalog self._view = Translate(domain, self._getRequest())
class TranslateTest(PlacelessSetup, unittest.TestCase): def setUp(self): super(TranslateTest, self).setUp() # Setup the registries ztapi.provideAdapter(IHTTPRequest, IUserPreferredCharsets, HTTPCharsets) ztapi.provideUtility(IFactory, Factory(MessageCatalog), 'zope.app.MessageCatalog') domain = TranslationDomain() domain.domain = 'default' en_catalog = MessageCatalog('en', 'default') de_catalog = MessageCatalog('de', 'default') en_catalog.setMessage('short_greeting', 'Hello!') de_catalog.setMessage('short_greeting', 'Hallo!') en_catalog.setMessage('greeting', 'Hello $name, how are you?') de_catalog.setMessage('greeting', 'Hallo $name, wie geht es Dir?') domain['en-1'] = en_catalog domain['de-1'] = de_catalog self._view = Translate(domain, self._getRequest()) def _getRequest(self, **kw): request = BrowserRequest(StringIO(''), kw) request._cookies = {'edit_languages': 'en,de'} request._traversed_names = ['foo', 'bar'] return request def testGetMessages(self): ids = [m[0] for m in self._view.getMessages()] ids.sort() self.assertEqual(ids, ['greeting', 'short_greeting']) def testGetTranslation(self): self.assertEqual(self._view.getTranslation('short_greeting', 'en'), 'Hello!') def testGetAllLanguages(self): languages = self._view.getAllLanguages() languages.sort() self.assertEqual(languages, ['de', 'en']) def testGetEditLanguages(self): languages = self._view.getEditLanguages() languages.sort() self.assertEqual(languages, ['de', 'en']) def testAddDeleteLanguage(self): self._view.addLanguage('es') self.assert_('es' in self._view.getAllLanguages()) self._view.deleteLanguages(['es']) self.assert_('es' not in self._view.getAllLanguages())