Ejemplo n.º 1
0
 def testGetTranslatedLanguages(self):
     # List should contain all existing translations
     makeTranslation(self.english, 'de')
     makeTranslation(self.english, 'fr')
     langs = self.english.getTranslatedLanguages()
     langs = [l[0] for l in langs]
     self.assertEqual(set(langs), set(['de', 'en', 'fr']))
Ejemplo n.º 2
0
 def testGetDeletableLanguages(self):
     # List should contain all translations except the canonical one
     makeTranslation(self.english, 'de')
     makeTranslation(self.english, 'fr')
     langs = self.english.getDeletableLanguages()
     langs = [l[0] for l in langs]
     self.assertEqual(set(langs), set(['de', 'fr']))
Ejemplo n.º 3
0
 def testGetTranslatedLanguages(self):
     # List should contain all existing translations
     makeTranslation(self.english, 'de')
     makeTranslation(self.english, 'fr')
     langs = self.english.getTranslatedLanguages()
     langs = [l[0] for l in langs]
     self.assertEqual(set(langs), set(['de', 'en', 'fr']))
Ejemplo n.º 4
0
 def testTranslationIsMovedToTranslatedFolder(self):
     self.weblog_de = makeTranslation(self.weblog_en, 'de')
     englishpost = makeContent(self.weblog_en, 'WeblogEntry', 'post')
     englishpost.setLanguage('en')
     germanpost = makeTranslation(englishpost, 'de')
     self.failUnless(englishpost in self.weblog_en.objectValues())
     self.failUnless(germanpost in self.weblog_de.objectValues())
Ejemplo n.º 5
0
 def testTranslationIsMovedToTranslatedFolder(self):
     self.folder_de = makeTranslation(self.folder_en, 'de')
     english = makeContent(self.folder_en, 'SimpleType', 'doc')
     english.setLanguage('en')
     german = makeTranslation(english, 'de')
     self.failUnless(english.getId() in self.folder_en)
     self.failUnless(german.getId() in self.folder_de)
    def testRenderSelectorWithNavigationRootForAnonymous(self):
        self.loginAsPortalOwner()
        en_root = makeContent(self.portal, 'Folder', 'en')
        en_root.setLanguage('en')
        directlyProvides(en_root, INavigationRoot)
        de_root = makeTranslation(en_root, 'de')
        de_root.setLanguage('de')
        directlyProvides(de_root, INavigationRoot)
        no_root = makeTranslation(en_root, 'no')
        no_root.setLanguage('no')
        directlyProvides(no_root, INavigationRoot)

        self.setRoles('Reviewer')
        pw = self.portal.portal_workflow
        pw.doActionFor(en_root, 'publish')
        pw.doActionFor(de_root, 'publish')
        self.logout()

        request = self.app.REQUEST
        selector = TranslatableLanguageSelector(
            en_root, request, None, None)
        selector.update()
        output = selector.render()

        en_path = en_root.absolute_url()
        en_link = '<a href="%s?set_language=en"' % en_path
        self.assert_(en_link in output)

        de_path = de_root.absolute_url()
        de_link = '<a href="%s?set_language=de"' % de_path
        self.assert_(de_link in output)

        self.assert_('set_language=no' not in output)
Ejemplo n.º 7
0
    def testRenderSelectorWithNavigationRootForAnonymous(self):
        self.loginAsPortalOwner()
        en_root = makeContent(self.portal, 'Folder', 'en')
        en_root.setLanguage('en')
        directlyProvides(en_root, INavigationRoot)
        de_root = makeTranslation(en_root, 'de')
        de_root.setLanguage('de')
        directlyProvides(de_root, INavigationRoot)
        no_root = makeTranslation(en_root, 'no')
        no_root.setLanguage('no')
        directlyProvides(no_root, INavigationRoot)

        self.setRoles('Reviewer')
        pw = self.portal.portal_workflow
        pw.doActionFor(en_root, 'publish')
        pw.doActionFor(de_root, 'publish')
        self.logout()

        request = self.app.REQUEST
        selector = TranslatableLanguageSelector(en_root, request, None, None)
        selector.update()
        output = selector.render()

        en_path = en_root.absolute_url()
        en_link = '<a href="%s?set_language=en"' % en_path
        self.assert_(en_link in output)

        de_path = de_root.absolute_url()
        de_link = '<a href="%s?set_language=de"' % de_path
        self.assert_(de_link in output)

        self.assert_('set_language=no' not in output)
Ejemplo n.º 8
0
 def testDeleteCanonicalWithTranslationsBTreeFolder(self):
     # Must delete translations first
     english = makeContent(self.folder, 'BTreeFolder', 'foo')
     english.setLanguage('en')
     makeTranslation(english, 'de')
     self.assertRaises(BeforeDeleteException,
                       self.folder._delObject, 'foo')
    def testLangIndependentReferenceIndexing(self):
        catalog = getToolByName(self.portal, 'portal_catalog')
        catalog.addIndex('getRawReference', 'FieldIndex')
        catalog.addColumn('getRawReference')

        catalog.addIndex('getRawReferenceDependent', 'FieldIndex')
        catalog.addColumn('getRawReferenceDependent')

        english = makeContent(self.folder, 'SimpleType', 'doc')
        english.setLanguage('en')
        german = makeTranslation(english, 'de')

        target = makeContent(self.folder, 'SimpleType', 'target')
        target.setLanguage('en')
        target_german = makeTranslation(target, 'de')

        # Test language independent reference fields
        english.processForm(values=dict(
            reference=target.UID(), referenceDependent=target.UID()))

        self.assertEqual(english.getReference().UID(), target.UID())
        self.assertEqual(german.getReference().UID(), target_german.UID())

        brains = catalog(dict(getRawReferenceDependent=target.UID()))
        self.assertEqual(brains[0].getRawReferenceDependent, target.UID())
        brains = catalog(dict(getRawReferenceDependent=target.UID()))
        self.assertEqual(brains[0].getRawReferenceDependent, target.UID())

        brains = catalog(dict(UID=english.UID()))
        self.assertEqual(brains[0].getRawReference, target.UID())
        brains = catalog(dict(UID=german.UID()))
        self.assertEqual(brains[0].getRawReference, target_german.UID())
Ejemplo n.º 10
0
 def testTranslationIsMovedToTranslatedFolder(self):
     self.folder_de = makeTranslation(self.folder_en, 'de')
     english = makeContent(self.folder_en, 'SimpleType', 'doc')
     english.setLanguage('en')
     german = makeTranslation(english, 'de')
     self.failUnless(english.getId() in self.folder_en)
     self.failUnless(german.getId() in self.folder_de)
Ejemplo n.º 11
0
 def testGetDeletableLanguages(self):
     # List should contain all translations except the canonical one
     makeTranslation(self.english, 'de')
     makeTranslation(self.english, 'fr')
     langs = self.english.getDeletableLanguages()
     langs = [l['id'] for l in langs]
     self.assertEqual(set(langs), set(['de', 'fr']))
 def afterSetUp(self):
     directlyProvides(self.portal.REQUEST, ILinguaPloneProductLayer)
     self.addLanguage('de')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'doc')
     self.germanfolder = makeTranslation(self.folder, 'de')
     self.english.setLanguage('en')
     self.german = makeTranslation(self.english, 'de')
Ejemplo n.º 13
0
 def afterSetUp(self):
     directlyProvides(self.portal.REQUEST, ILinguaPloneProductLayer)
     self.addLanguage('de')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'doc')
     self.germanfolder = makeTranslation(self.folder, 'de')
     self.english.setLanguage('en')
     self.german = makeTranslation(self.english, 'de')
Ejemplo n.º 14
0
 def testDeleteAlreadyTranslatedLanguage(self):
     # Must delete translations first
     english = makeContent(self.folder, 'SimpleType', 'doc')
     english.setLanguage('en')
     makeTranslation(english, 'de')
     self.portal.portal_languages.removeSupportedLanguages(('de', ))
     try:
         english.getDeletableLanguages()
     except KeyError:
         self.fail("getDeletableLanguages raised KeyError unexpectedly!")
Ejemplo n.º 15
0
 def testDeleteAlreadyTranslatedLanguage(self):
     # Must delete translations first
     english = makeContent(self.folder, 'SimpleType', 'doc')
     english.setLanguage('en')
     makeTranslation(english, 'de')
     self.portal.portal_languages.removeSupportedLanguages(('de',))
     try:
         english.getDeletableLanguages()
     except KeyError:
         self.fail("getDeletableLanguages raised KeyError unexpectedly!")
 def testTranslatingDefaultPagePutsItIntoTranslatedParentFolder(self):
     english_folder = self.folder
     makeTranslation(english_folder, 'de')   # translated folder exists
     english_doc = makeContent(english_folder, 'SimpleType', 'doc')
     english_folder.setDefaultPage(english_doc.getId())
     makeTranslation(english_doc, 'de').processForm(
         values=dict(title='dok'))
     german_folder = english_folder.getTranslation('de')
     german_doc = english_doc.getTranslation('de')
     self.assertTrue(german_doc.getId() in german_folder)
     self.assertTrue(isDefaultPage(english_folder, english_doc))
     self.assertTrue(isDefaultPage(german_folder, german_doc))
Ejemplo n.º 17
0
 def testTranslatingDefaultPagePutsItIntoTranslatedParentFolder(self):
     english_folder = self.folder
     makeTranslation(english_folder, 'de')  # translated folder exists
     english_doc = makeContent(english_folder, 'SimpleType', 'doc')
     english_folder.setDefaultPage(english_doc.getId())
     makeTranslation(english_doc,
                     'de').processForm(values=dict(title='dok'))
     german_folder = english_folder.getTranslation('de')
     german_doc = english_doc.getTranslation('de')
     self.assertTrue(german_doc.getId() in german_folder)
     self.assertTrue(isDefaultPage(english_folder, english_doc))
     self.assertTrue(isDefaultPage(german_folder, german_doc))
Ejemplo n.º 18
0
    def setUp(self):
        self.portal = self.layer['portal']
        self.request = self.layer['request']
        language_tool = getToolByName(self.portal, 'portal_languages')
        language_tool.addSupportedLanguage('ca')
        language_tool.addSupportedLanguage('es')

        self.doc1 = makeContent(self.portal, 'Document', id='doc1')
        self.doc1.setLanguage('en')
        self.doc1_ca = makeTranslation(self.doc1, 'ca')
        self.doc1_ca.edit(title="Foo", language='ca')
        self.doc1_es = makeTranslation(self.doc1, 'es')
        self.doc1_es.edit(title="Foo", language='es')
Ejemplo n.º 19
0
 def testTranslatingDefaultPageInNeutralFolderDoesntCreateFolder(self):
     neutral_folder = self.folder
     neutral_folder.setLanguage('')
     english_doc = makeContent(neutral_folder, 'SimpleType', 'doc')
     english_doc.setLanguage('en')
     neutral_folder.setDefaultPage(english_doc.getId())
     makeTranslation(english_doc,
                     'de').processForm(values=dict(title='dok'))
     self.assertEqual(neutral_folder.getTranslation('de'), None)
     german_doc = english_doc.getTranslation('de')
     self.assertTrue(german_doc.getId() in neutral_folder)
     self.assertTrue(isDefaultPage(neutral_folder, english_doc))
     self.assertFalse(isDefaultPage(neutral_folder, german_doc))
 def testTranslatingDefaultPageInNeutralFolderDoesntCreateFolder(self):
     neutral_folder = self.folder
     neutral_folder.setLanguage('')
     english_doc = makeContent(neutral_folder, 'SimpleType', 'doc')
     english_doc.setLanguage('en')
     neutral_folder.setDefaultPage(english_doc.getId())
     makeTranslation(english_doc, 'de').processForm(
         values=dict(title='dok'))
     self.assertEqual(neutral_folder.getTranslation('de'), None)
     german_doc = english_doc.getTranslation('de')
     self.assertTrue(german_doc.getId() in neutral_folder)
     self.assertTrue(isDefaultPage(neutral_folder, english_doc))
     self.assertFalse(isDefaultPage(neutral_folder, german_doc))
    def createLinguaPloneStructure(self):
        self.folder = makeContent(self.portal, 'Folder', id='folder')
        self.folder.setLanguage('en')
        self.folder_ca = makeTranslation(self.folder, 'ca')
        self.folder_es = makeTranslation(self.folder, 'es')

        self.doc1 = makeContent(self.portal, 'Document', id='doc1')
        self.doc1.setLanguage('en')
        self.doc1_ca = makeTranslation(self.doc1, 'ca')
        self.doc1_ca.edit(title="Foo-ca", language='ca')
        self.doc1_es = makeTranslation(self.doc1, 'es')
        self.doc1_es.edit(title="Foo-es", language='es')

        self.doc2 = makeContent(self.folder, 'Document', id='doc2')
        self.doc2.setLanguage('en')
        self.doc2_ca = makeTranslation(self.doc2, 'ca')
        self.doc2_ca.edit(title="Bar-ca", language='ca')
        self.doc2_es = makeTranslation(self.doc2, 'es')
        self.doc2_es.edit(title="Bar-es", language='es')

        self.doc3 = makeContent(self.folder_ca, 'Document', id='doc3')
        self.doc3.setLanguage('ca')
        self.doc3_es = makeTranslation(self.doc3, 'es')
        self.doc3_es.edit(title="Woot", language="es")

        self.doc4 = makeContent(self.folder_es, 'Document', id='doc4')
        self.doc4.setLanguage('es')
        self.doc4_en = makeTranslation(self.doc4, 'en')
        self.doc4_en.edit(title="Woot woot", language="en")
 def testMigration(self):
     self.doc1 = makeContent(self.portal, 'Document', id='doc1')
     self.doc1.setLanguage('en')
     self.doc1_ca = makeTranslation(self.doc1, 'ca')
     self.doc1_ca.edit(title="Foo", language='ca')
     self.doc1_es = makeTranslation(self.doc1, 'es')
     self.doc1_es.edit(title="Foo", language='es')
     migration_view = getMultiAdapter((self.portal, self.request), name='transfer-lp-catalog')
     migration_view()
     self.assertEqual(ITranslationManager(self.doc1).get_translations(),
                      {'ca': self.doc1_ca,
                       'en': self.doc1,
                       'es': self.doc1_es}
                     )
Ejemplo n.º 23
0
 def afterSetUp(self):
     self.addLanguage('de')
     self.addLanguage('fr')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'doc')
     self.english.setLanguage('en')
     self.german = makeTranslation(self.english, 'de')
Ejemplo n.º 24
0
 def testChangeCanonical(self):
     self.german.setCanonical()
     self.failIf(self.english.isCanonical())
     self.failUnless(self.german.isCanonical())
     self.assertEqual('de', self.english.getCanonicalLanguage())
     self.assertEqual('de', self.german.getCanonicalLanguage())
     self.assertEqual(self.german, self.english.getCanonical())
     self.assertEqual(self.german, self.german.getCanonical())
     self.french = makeTranslation(self.german, 'fr')
     self.french.setCanonical()
     self.failIf(self.english.isCanonical())
     self.failIf(self.german.isCanonical())
     self.failUnless(self.french.isCanonical())
     self.assertEqual('fr', self.english.getCanonicalLanguage())
     self.assertEqual('fr', self.french.getCanonicalLanguage())
     self.assertEqual('fr', self.german.getCanonicalLanguage())
     self.assertEqual(self.french, self.english.getCanonical())
     self.assertEqual(self.french, self.french.getCanonical())
     self.assertEqual(self.french, self.german.getCanonical())
     self.english.setCanonical()
     self.failUnless(self.english.isCanonical())
     self.failIf(self.german.isCanonical())
     self.failIf(self.french.isCanonical())
     self.assertEqual('en', self.english.getCanonicalLanguage())
     self.assertEqual('en', self.french.getCanonicalLanguage())
     self.assertEqual('en', self.german.getCanonicalLanguage())
     self.assertEqual(self.english, self.english.getCanonical())
     self.assertEqual(self.english, self.french.getCanonical())
     self.assertEqual(self.english, self.german.getCanonical())
Ejemplo n.º 25
0
 def testProcessFormIdFromTitleWithRequestSeparateFolder(self):
     self.en_folder = makeContent(self.folder, 'Folder', 'inner_folder')
     self.inner_english = makeContent(self.en_folder, 'SimpleType', 'doc')
     self.loginAsPortalOwner()
     self.addLanguage('fr')
     fr_folder = makeTranslation(self.en_folder, 'fr')
     french = makeTranslation(self.inner_english, 'fr')
     self.assertTrue(french.absolute_url().startswith(
         fr_folder.absolute_url()))
     from zope.publisher.browser import TestRequest
     request = TestRequest(form={
                    'id': french.getId(),
                    'title': 'Biere'})
     french.processForm(REQUEST=request)
     self.assertNotEqual(french.getId(), 'doc-fr')
     self.assertEqual(french.getId(), 'biere')
Ejemplo n.º 26
0
 def afterSetUp(self):
     LinguaPloneTestCase.LinguaPloneTestCase.afterSetUp(self)
     self.addLanguage('de')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'index_html')
     self.english.setLanguage('en')
     self.german = makeTranslation(self.english, 'de')
 def test_textfield_on_document(self):
     from Products.LinguaPlone.utils import LanguageIndependentFields
     english = makeContent(self.folder, 'Document', 'doc')
     english.setLanguage('en')
     english.setText('')
     key = 'Archetypes.storage.AnnotationStorage-text'
     baseunit = english.__annotations__[key]
     self.assertEqual(baseunit.getContentType(), 'text/plain')
     # use the LanguageIndependentFields adapter to copy the text field
     def getFields(self, schema=None):
         if schema is None:
             schema = self.context.Schema()
         return schema.filterFields(__name__='text')
     orig = LanguageIndependentFields.getFields
     try:
         LanguageIndependentFields.getFields = getFields
         german = makeTranslation(english, 'de')
         self.assertEqual(german.getText(), '')
         de_baseunit = german.__annotations__[key]
         self.assertEqual(de_baseunit.getContentType(), 'text/plain')
         # update field
         english.setText('<p>Hello</p>')
         LanguageIndependentFields(english).copyFields(german)
         self.assertEqual(baseunit.getContentType(), 'text/html')
         self.assertEqual(german.getText(), '<p>Hello</p>')
         self.assertEqual(de_baseunit.getContentType(), 'text/html')
     finally:
         LanguageIndependentFields.getFields = orig
Ejemplo n.º 28
0
 def afterSetUp(self):
     self.addLanguage('de')
     self.addLanguage('fr')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'doc')
     self.english.setLanguage('en')
     self.german = makeTranslation(self.english, 'de')
Ejemplo n.º 29
0
 def testChangeCanonical(self):
     self.german.setCanonical()
     self.failIf(self.english.isCanonical())
     self.failUnless(self.german.isCanonical())
     self.assertEqual('de', self.english.getCanonicalLanguage())
     self.assertEqual('de', self.german.getCanonicalLanguage())
     self.assertEqual(self.german, self.english.getCanonical())
     self.assertEqual(self.german, self.german.getCanonical())
     self.french = makeTranslation(self.german, 'fr')
     self.french.setCanonical()
     self.failIf(self.english.isCanonical())
     self.failIf(self.german.isCanonical())
     self.failUnless(self.french.isCanonical())
     self.assertEqual('fr', self.english.getCanonicalLanguage())
     self.assertEqual('fr', self.french.getCanonicalLanguage())
     self.assertEqual('fr', self.german.getCanonicalLanguage())
     self.assertEqual(self.french, self.english.getCanonical())
     self.assertEqual(self.french, self.french.getCanonical())
     self.assertEqual(self.french, self.german.getCanonical())
     self.english.setCanonical()
     self.failUnless(self.english.isCanonical())
     self.failIf(self.german.isCanonical())
     self.failIf(self.french.isCanonical())
     self.assertEqual('en', self.english.getCanonicalLanguage())
     self.assertEqual('en', self.french.getCanonicalLanguage())
     self.assertEqual('en', self.german.getCanonicalLanguage())
     self.assertEqual(self.english, self.english.getCanonical())
     self.assertEqual(self.english, self.french.getCanonical())
     self.assertEqual(self.english, self.german.getCanonical())
Ejemplo n.º 30
0
 def testIndependentGIF(self):
     self.english.setImage(GIF)
     self.german = makeTranslation(self.english, 'de')
     img_en = self.english.getImage()
     img_de = self.german.getImage()
     self.failUnlessEqual(img_en.content_type, 'image/gif')
     self.failUnlessEqual(img_de.content_type, 'image/gif')
Ejemplo n.º 31
0
 def testDeleteTranslationClearsReference(self):
     # Deleting a translation object should remove
     # the relation in the canonical object.
     german = makeTranslation(self.english, 'de')
     self.assertEqual(len(self.english.getTranslations()), 2)
     self.folder._delObject(german.getId())
     self.assertEqual(len(self.english.getTranslations()), 1)
    def testLanguageIndependentField(self):
        english = makeContent(self.folder, 'SimpleType', 'doc')
        english.setLanguage('en')

        contact = 'Fred Flintstone'
        english.setContactName(contact)
        german = makeTranslation(english, 'de')
        self.assertEqual(english.getContactName(), contact)
        self.assertEqual(english.getRawContactName(), contact)
        self.assertEqual(german.getContactName(), contact)
        self.assertEqual(german.getRawContactName(), contact)
        self.failUnless(english.contactName)
        self.failUnless(german.contactName)
        self.failUnless(hasattr(german, 'testing'))
        self.assertEqual(german.testing, english.contactName)
        self.assertEqual(english.contactName, german.contactName)

        contact = 'Barney Rubble'
        german.setContactName(contact)
        self.assertEqual(english.getContactName(), contact)
        self.assertEqual(english.getRawContactName(), contact)
        self.assertEqual(german.getContactName(), contact)
        self.assertEqual(german.getRawContactName(), contact)
        self.failUnless(english.contactName)
        self.failUnless(german.contactName)
        self.failUnless(hasattr(english, 'testing'))
        self.assertEqual(english.testing, german.contactName)
        self.assertEqual(english.contactName, german.contactName)

        # Sanity check: not all fields are language independent
        english.setTitle('English title')
        german.setTitle('German title')
        self.failIfEqual(english.Title(), german.Title())
Ejemplo n.º 33
0
 def testDeleteTranslationClearsReference(self):
     # Deleting a translation object should remove
     # the relation in the canonical object.
     german = makeTranslation(self.english, 'de')
     self.assertEqual(len(self.english.getTranslations()), 2)
     self.folder._delObject(german.getId())
     self.assertEqual(len(self.english.getTranslations()), 1)
Ejemplo n.º 34
0
 def testUpdatedOnNonCanonical(self):
     german = makeTranslation(self.english, 'de')
     german.getTranslations()
     translations = getattr(german, '_v_translations', None)
     self.assertEqual(len(translations), 1)
     self.failUnless('de' in translations.keys())
     self.assertEqual(german, translations['de'][0])
Ejemplo n.º 35
0
 def testTranslationsAreCached(self):
     translations = getattr(self.english, '_v_translations', None)
     self.assertEqual(len(translations), 1)
     german = makeTranslation(self.english, 'de')
     self.english.getTranslations()
     translations = getattr(self.english, '_v_translations', None)
     self.assertEqual(len(translations), 2)
Ejemplo n.º 36
0
    def testLanguageIndependentField(self):
        english = makeContent(self.folder, 'SimpleType', 'doc')
        english.setLanguage('en')
        german = makeTranslation(english, 'de')

        contact = 'Test string'
        english.setTitle('English title')
        english.setContactName(contact)
        german.setTitle('German title')
        self.failIfEqual(english.Title(), german.Title())
        self.assertEqual(english.getContactName(), contact)
        self.assertEqual(english.getRawContactName(), contact)
        self.assertEqual(german.getContactName(), contact)
        self.assertEqual(german.getRawContactName(), contact)
        self.failUnless(english.contactName)
        self.failUnless(german.contactName)
        self.failUnless(hasattr(german, 'testing'))
        self.assertEqual(german.testing, english.contactName)
        self.assertEqual(english.contactName, german.contactName)

        contact = 'First name'
        german.setContactName(contact)
        self.assertEqual(english.getContactName(), contact)
        self.assertEqual(english.getRawContactName(), contact)
        self.assertEqual(german.getContactName(), contact)
        self.assertEqual(german.getRawContactName(), contact)
        self.failUnless(english.contactName)
        self.failUnless(german.contactName)
        self.failUnless(hasattr(english, 'testing'))
        self.assertEqual(english.testing, german.contactName)
        self.assertEqual(english.contactName, german.contactName)
Ejemplo n.º 37
0
 def testIndependentGIF(self):
     self.english.setImage(GIF)
     self.german = makeTranslation(self.english, 'de')
     img_en = self.english.getImage()
     img_de = self.german.getImage()
     self.failUnlessEqual(img_en.content_type, 'image/gif')
     self.failUnlessEqual(img_de.content_type, 'image/gif')
Ejemplo n.º 38
0
 def testSetLanguageMoveTranslatedContent(self):
     self.folder_de = makeTranslation(self.folder_en, 'de')
     en2de = makeContent(self.folder_en, 'SimpleType', 'doc2')
     en2de.setLanguage('en')
     transaction.savepoint(optimistic=True)
     en2de.setLanguage('de')
     self.failIf(en2de.getId() in self.folder_en.objectIds())
     self.failUnless(en2de.getId() in self.folder_de.objectIds())
Ejemplo n.º 39
0
 def testFolderTranslationMoveTranslatedContent(self):
     english1 = makeContent(self.folder_en, 'SimpleType', 'doc1')
     english1.setLanguage('en')
     english2 = makeContent(self.folder_en, 'SimpleType', 'doc2')
     english2.setLanguage('en')
     german1 = makeTranslation(english1, 'de')
     german2 = makeTranslation(english2, 'de')
     transaction.savepoint(optimistic=True)
     self.folder_de = makeTranslation(self.folder_en, 'de')
     self.failUnless(english1.getId() in self.folder_en.objectIds())
     self.failUnless(english2.getId() in self.folder_en.objectIds())
     self.failIf(english1.getId() in self.folder_de.objectIds())
     self.failIf(english2.getId() in self.folder_de.objectIds())
     self.failUnless(german1.getId() in self.folder_de.objectIds())
     self.failUnless(german2.getId() in self.folder_de.objectIds())
     self.failIf(german1.getId() in self.folder_en.objectIds())
     self.failIf(german2.getId() in self.folder_en.objectIds())
Ejemplo n.º 40
0
 def testGetTranslationsMissingObject(self):
     french = makeTranslation(self.german, 'fr')
     translations = self.english.getTranslations(review_state=False)
     self.assertEqual(translations['fr'], french)
     self.loginAsPortalOwner()
     self.folder._delOb(french.getId())
     translations = self.english.getTranslations(review_state=False)
     self.assert_('fr' not in translations)
Ejemplo n.º 41
0
 def testThreeLanguagesNonCanonicalSetLanguageToNeutral(self):
     self.french = makeTranslation(self.english, 'fr')
     self.german.setLanguage('')
     self.failIf('de' in self.german.getTranslationLanguages())
     self.failIf('en' in self.german.getTranslationLanguages())
     self.failIf('fr' in self.german.getTranslationLanguages())
     self.failIf('de' in self.english.getTranslationLanguages())
     self.failIf('de' in self.french.getTranslationLanguages())
Ejemplo n.º 42
0
 def afterSetUp(self):
     self.addLanguage('de')
     self.addLanguage('no')
     self.setLanguage('en')
     self.setRoles(['Manager'])
     en = makeContent(self.portal, 'Folder', 'en')
     en.setLanguage('en')
     suben = makeContent(en, 'Folder', 'sub-en')
     suben.setLanguage('en')
     self.endoc = makeContent(suben, 'SimpleType', 'endoc')
     self.endoc.setLanguage('en')
     makeTranslation(en, 'de')
     self.dedoc = makeTranslation(self.endoc, 'de')
     neutral = makeContent(en, 'Folder', 'neutral')
     neutral.setLanguage('')
     self.doc = makeContent(neutral, 'SimpleType', 'doc')
     self.doc.setLanguage('')
Ejemplo n.º 43
0
 def testSetLanguageMoveTranslatedContent(self):
     self.weblog_de = makeTranslation(self.weblog_en, 'de')
     en2de = makeContent(self.weblog_en, 'WeblogEntry', 'entry2')
     en2de.setLanguage('en')
     transaction.savepoint(optimistic=True)
     en2de.setLanguage('de')
     self.failIf(en2de.getId() in self.weblog_en.objectIds())
     self.failUnless(en2de.getId() in self.weblog_de.objectIds())
 def testLangIndependentInBoth(self):
     english = makeContent(self.folder, 'DerivedType', 'doc')
     english.setLanguage('en')
     german = makeTranslation(english, 'de')
     teststring = 'Test string'
     english.setLangIndependentInBoth(teststring)
     self.assertEqual(german.getLangIndependentInBoth(), teststring)
     self.assertEqual(german.getRawLangIndependentInBoth(), teststring)
Ejemplo n.º 45
0
 def testDependent(self):
     self.english.setImageDependent(JPG)
     self.german = makeTranslation(self.english, 'de')
     self.german.setImageDependent(PNG)
     img_en = self.english.getImageDependent()
     img_de = self.german.getImageDependent()
     self.failUnlessEqual(img_en.content_type, 'image/jpeg')
     self.failUnlessEqual(img_de.content_type, 'image/png')
Ejemplo n.º 46
0
 def testLangIndependentInBoth(self):
     english = makeContent(self.folder, 'DerivedType', 'doc')
     english.setLanguage('en')
     german = makeTranslation(english, 'de')
     teststring = 'Test string'
     english.setLangIndependentInBoth(teststring)
     self.assertEqual(german.getLangIndependentInBoth(), teststring)
     self.assertEqual(german.getRawLangIndependentInBoth(), teststring)
Ejemplo n.º 47
0
 def testGetTranslationWithMultipleLanguages(self):
     self.french = makeTranslation(self.german, 'fr')
     self.assertEqual(self.french, self.german.getTranslation('fr'))
     self.assertEqual(self.french, self.english.getTranslation('fr'))
     self.assertEqual(self.german, self.french.getTranslation('de'))
     self.assertEqual(self.german, self.english.getTranslation('de'))
     self.assertEqual(self.english, self.german.getTranslation('en'))
     self.assertEqual(self.english, self.french.getTranslation('en'))
Ejemplo n.º 48
0
 def afterSetUp(self):
     self.addLanguage('de')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'doc')
     self.english.edit(title='Foo', language='en')
     self.german = makeTranslation(self.english, 'de')
     self.german.edit(title='Foo')
     self.catalog = self.portal.portal_catalog
Ejemplo n.º 49
0
 def testDependent(self):
     self.english.setImageDependent(JPG)
     self.german = makeTranslation(self.english, 'de')
     self.german.setImageDependent(PNG)
     img_en = self.english.getImageDependent()
     img_de = self.german.getImageDependent()
     self.failUnlessEqual(img_en.content_type, 'image/jpeg')
     self.failUnlessEqual(img_de.content_type, 'image/png')
Ejemplo n.º 50
0
 def testSetLanguageMoveTranslatedContent(self):
     self.folder_de = makeTranslation(self.folder_en, 'de')
     en2de = makeContent(self.folder_en, 'SimpleType', 'doc2')
     en2de.setLanguage('en')
     transaction.savepoint(optimistic=True)
     en2de.setLanguage('de')
     self.failIf(en2de.getId() in self.folder_en.objectIds())
     self.failUnless(en2de.getId() in self.folder_de.objectIds())
Ejemplo n.º 51
0
 def testFolderTranslationMoveTranslatedContent(self):
     english1 = makeContent(self.folder_en, 'SimpleType', 'doc1')
     english1.setLanguage('en')
     english2 = makeContent(self.folder_en, 'SimpleType', 'doc2')
     english2.setLanguage('en')
     german1 = makeTranslation(english1, 'de')
     german2 = makeTranslation(english2, 'de')
     transaction.savepoint(optimistic=True)
     self.folder_de = makeTranslation(self.folder_en, 'de')
     self.failUnless(english1.getId() in self.folder_en.objectIds())
     self.failUnless(english2.getId() in self.folder_en.objectIds())
     self.failIf(english1.getId() in self.folder_de.objectIds())
     self.failIf(english2.getId() in self.folder_de.objectIds())
     self.failUnless(german1.getId() in self.folder_de.objectIds())
     self.failUnless(german2.getId() in self.folder_de.objectIds())
     self.failIf(german1.getId() in self.folder_en.objectIds())
     self.failIf(german2.getId() in self.folder_en.objectIds())
    def testLangIndependentIndexing(self):
        catalog = getToolByName(self.folder, 'portal_catalog')
        catalog.addColumn('getContactName')

        english = makeContent(self.folder, 'SimpleType', 'doc')
        english.setLanguage('en')
        english.processForm(values=dict(contactName='foo'))
        res = [r.getContactName for r in
            catalog(dict(portal_type='SimpleType', Language='en'))]
        self.assertEqual(res, ['foo'])

        makeTranslation(english, 'de')
        english.processForm(values=dict(contactName='bar'))

        brains = catalog(dict(portal_type='SimpleType', Language='en'))
        self.assertEqual(brains[0].getContactName, 'bar')
        brains = catalog(dict(portal_type='SimpleType', Language='de'))
        self.assertEqual(brains[0].getContactName, 'bar')
 def test_textfield(self):
     english = makeContent(self.folder, 'SimpleType', 'doc')
     english.setLanguage('en')
     english.setNeutralText('<p>Hello</p>')
     self.assertEqual(english.neutralText.getContentType(), 'text/html')
     german = makeTranslation(english, 'de')
     text = german.getNeutralText()
     self.assertEqual(text, '<p>Hello</p>')
     self.assertEqual(german.neutralText.getContentType(), 'text/html')