Test for https://dev.plone.org/ticket/7627 =========================================== Goal is to have values from selection widgets translated in /base_view :: >>> from plone.testing.z2 import Browser >>> from zope.i18n import ITranslationDomain >>> from zope.interface import implements >>> from Products.Archetypes.tests.utils import makeContent >>> def browser(url): ... import transaction; transaction.commit() ... br = Browser(app) ... br.handleErrors = False ... br.addHeader('Authorization','Basic %s:%s'%(portal_owner, 'secret')) ... br.open(url) ... return br >>> doc = makeContent(folder, portal_type='ComplexType', id='vocdemodoc3') First make a custom translator for our i18n domain :: >>> class TranslationDomain(object): ... implements(ITranslationDomain) ... def translate(self, msgid, mapping=None, ... context=None, target_language=None, ... default=None): ... return "translated:%s" % (msgid) >>> t = TranslationDomain() >>> from zope.component import provideUtility >>> provideUtility(t, ITranslationDomain, 'attesti18n') >>> from plone.app.testing import SITE_OWNER_NAME as portal_owner Now be sure our values are correctly translated in view :: >>> doc.setSelectionlinesfield2('Test') >>> doc.setSelectionlinesfield3(['test2']) >>> import transaction >>> transaction.commit() >>> br = browser(doc.absolute_url()+"/base_view") >>> 'translated:test2' in br.contents and 'translated:Test' in br.contents True