[Erp5-report] r26043 - /erp5/trunk/products/ERP5/tests/testTranslation.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Mar 16 11:06:38 CET 2009
Author: mame
Date: Mon Mar 16 11:06:38 2009
New Revision: 26043
URL: http://svn.erp5.org?rev=26043&view=rev
Log:
modified test so that workflow state titles with message id can be translated
Modified:
erp5/trunk/products/ERP5/tests/testTranslation.py
Modified: erp5/trunk/products/ERP5/tests/testTranslation.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testTranslation.py?rev=26043&r1=26042&r2=26043&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testTranslation.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testTranslation.py [utf8] Mon Mar 16 11:06:38 2009
@@ -26,6 +26,7 @@
#
##############################################################################
import os, sys
+import transaction
if __name__ == '__main__':
execfile(os.path.join(sys.path[0], 'framework.py'))
@@ -103,11 +104,15 @@
return target_business_templates
def getTranslation(self, msgid):
- result = self.portal.Localizer.translate(
- domain=self.domain, msgid=msgid, lang=self.lang)
+
+ result = self.portal.Localizer.erp5_ui.gettext(
+ msgid, default='')
+ #result = self.portal.Localizer.translate(
+ #domain=self.domain, msgid=msgid, lang=self.lang)
if (result == msgid) and (self.lang != 'en'):
- result = None
- return result
+ #result = None
+ result = self.portal.Localizer.erp5_ui.gettext(msgid)
+ return result.encode('utf8')
def logMessage(self, message):
self.message += '%s\n' % message
@@ -131,7 +136,8 @@
for state in workflow.states.items():
state_title = state[1].title
state_id = state[0]
- translated_state_title = self.getTranslation(state_title)
+ msgid = '%s [state in %s]' % (state_title, workflow_id)
+ translated_state_title = self.getTranslation(msgid)
if translated_state_title is not None:
if translation_dict.has_key(translated_state_title):
@@ -182,7 +188,8 @@
error_dict[key].append((
workflow_id, wrong_state_id, state_title, state_id_list))
error = 1
-
+ #import pdb
+ #pdb.set_trace()
if error:
for key, item_list in error_dict.items():
if len(item_list) != 0:
@@ -199,6 +206,7 @@
self.logMessage(
"\t%r\t%r\t'%s'" % \
item)
+
self.fail(self.message)
def test_01_EnglishTranslation(self, quiet=0, run=run_all_test):
@@ -235,6 +243,44 @@
"""
self.lang = 'pt-BR'
self.checkWorkflowStateTitle(quiet=quiet, run=run)
+
+ def test_standard_translated_related_keys(self):
+ # make sure we can search by "translated_validation_state_title" and
+ # "translated_portal_type"
+ message_catalog = self.portal.Localizer.erp5_ui
+ lang = 'fr'
+ if lang not in [x['id'] for x in
+ self.portal.Localizer.get_languages_map()]:
+ self.portal.Localizer.manage_addLanguage(lang)
+
+ message_catalog.gettext('Draft', add=1)
+ message_catalog.gettext('Person', add=1)
+ message_catalog.message_edit('Draft', lang, 'Brouillon', '')
+ message_catalog.message_edit('Person', lang, 'Personne', '')
+
+ person_1 = self.portal.person_module.newContent(portal_type='Person')
+ person_1.validate()
+ person_2 = self.portal.person_module.newContent(portal_type='Person')
+ organisation = self.portal.organisation_module.newContent(
+ portal_type='Organisation')
+ transaction.commit()
+ self.tic()
+
+ # patch the method, we'll abort later
+ self.portal.Localizer.get_selected_language = lambda: lang
+
+ self.assertEquals(set([person_1, person_2]),
+ set([x.getObject() for x in
+ self.portal.portal_catalog(translated_portal_type='Personne')]))
+ self.assertEquals(set([person_2, organisation]),
+ set([x.getObject() for x in
+ self.portal.portal_catalog(translated_validation_state_title='Brouillon',
+ portal_type=('Person', 'Organisation'))]))
+ self.assertEquals([person_2],
+ [x.getObject() for x in
+ self.portal.portal_catalog(translated_validation_state_title='Brouillon',
+ translated_portal_type='Personne')])
+ transaction.abort()
if __name__ == '__main__':
framework()
More information about the Erp5-report
mailing list