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 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())
Пример #3
0
 def testDefaultLanguageNeutralFolder(self):
     neutral_folder = makeContent(self.folder, 'SimpleFolder', 'neutral')
     neutral_folder.setLanguage('')
     neutral_doc = makeContent(neutral_folder, 'SimpleType', 'doc-neutral')
     # Adding content to a neutral folder defaults to it being neutral,
     # even if the site is not neutral by default
     self.assertEquals(neutral_doc.defaultLanguage(), '')
Пример #4
0
 def testDefaultLanguageNonNeutralSite(self):
     self.loginAsPortalOwner()
     ltool = getToolByName(self.portal, 'portal_languages')
     ltool.start_neutral = False
     neutral_folder = makeContent(self.folder, 'SimpleFolder', 'neutral')
     neutral_folder.setLanguage('')
     neutral_doc = makeContent(neutral_folder, 'SimpleType', 'doc-neutral')
     self.assertEquals(neutral_doc.defaultLanguage(), '')
Пример #5
0
 def testDefaultLanguageNoLanguageTool(self):
     neutral_folder = makeContent(self.folder, 'SimpleFolder', 'neutral')
     neutral_folder.setLanguage('')
     neutral_doc = makeContent(neutral_folder, 'SimpleType', 'doc-neutral')
     self.loginAsPortalOwner()
     del self.portal['portal_languages']
     from Products.Archetypes.config import LANGUAGE_DEFAULT
     self.assertEquals(neutral_doc.defaultLanguage(), LANGUAGE_DEFAULT)
Пример #6
0
 def afterSetUp(self):
     self.addLanguage('de')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'doc')
     self.english.setLanguage('en')
     self.bulgarian = makeContent(self.folder, 'SimpleType', 'doc1')
     self.bulgarian.setLanguage('bg')
     self.russian = makeContent(self.folder, 'SimpleType', 'doc2')
     self.russian.setLanguage('ru')
Пример #7
0
 def afterSetUp(self):
     self.addLanguage('pt')
     self.setLanguage('en')
     self.folder_en = makeContent(self.folder, 'DynamicFolder', 'folder')
     self.folder_en.setLanguage('en')
     self.english = makeContent(self.folder_en, 'SimpleType', 'doc')
     self.english.setLanguage('en')
     self.folder_en.setDefaultPage(self.english.getId())
     self.portuguese = makeTranslation(self.english, 'pt')
     transaction.savepoint(optimistic=True)
     self.portuguese.processForm(values={'title': 'Foo'})
     self.folder_pt = self.folder_en.getTranslation('pt')
Пример #8
0
 def afterSetUp(self):
     directlyProvides(self.portal.REQUEST, ILinguaPloneProductLayer)
     self.addLanguage('pt')
     self.setLanguage('en')
     self.folder_en = makeContent(self.folder, 'DynamicFolder', 'folder')
     self.folder_en.setLanguage('en')
     self.english = makeContent(self.folder_en, 'SimpleType', 'doc')
     self.english.setLanguage('en')
     self.folder_en.setDefaultPage(self.english.getId())
     self.portuguese = makeTranslation(self.english, 'pt')
     transaction.savepoint(optimistic=True)
     self.portuguese.processForm(values={'id': 'foo', 'title': 'Foo'})
     self.folder_pt = self.folder_en.getTranslation('pt')
Пример #9
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.alsoenglish = makeContent(self.folder, 'SimpleType', 'doctwo')
     self.alsoenglish.setLanguage('en')
     self.german = makeTranslation(self.english, 'de')
     self.french = makeContent(self.folder, 'SimpleType', 'frenchdoc')
     self.french.setLanguage('fr')
     self.folder_en = makeContent(self.folder, 'SimpleFolder', 'folder')
     self.folder_en.setLanguage('en')
Пример #10
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.alsoenglish = makeContent(self.folder, 'SimpleType', 'doctwo')
     self.alsoenglish.setLanguage('en')
     self.german = makeTranslation(self.english, 'de')
     self.french = makeContent(self.folder, 'SimpleType', 'frenchdoc')
     self.french.setLanguage('fr')
     self.folder_en = makeContent(self.folder, 'SimpleFolder', 'folder')
     self.folder_en.setLanguage('en')
Пример #11
0
 def afterSetUp(self):
     directlyProvides(self.portal.REQUEST, ILinguaPloneProductLayer)
     self.addLanguage('pt')
     self.setLanguage('en')
     self.folder_en = makeContent(self.folder, 'DynamicFolder', 'folder')
     self.folder_en.setLanguage('en')
     self.english = makeContent(self.folder_en, 'SimpleType', 'doc')
     self.english.setLanguage('en')
     self.folder_en.setDefaultPage(self.english.getId())
     self.portuguese = makeTranslation(self.english, 'pt')
     transaction.savepoint(optimistic=True)
     self.portuguese.processForm(values={'id': 'foo', 'title': 'Foo'})
     self.folder_pt = self.folder_en.getTranslation('pt')
Пример #12
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
Пример #14
0
 def afterSetUp(self):
     self.addLanguage('de')
     self.setLanguage('en')
     # Speed things up
     self.portal._delObject('portal_catalog')
     self.english = makeContent(self.folder, 'SimpleType', 'doc')
     self.english.setLanguage('en')
Пример #15
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')
Пример #16
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')
Пример #17
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)
Пример #18
0
 def afterSetUp(self):
     directlyProvides(self.portal.REQUEST, ILinguaPloneProductLayer)
     self.addLanguage('de')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'news')
     self.english.setLanguage('en')
     self.german = makeTranslation(self.english, 'de')
Пример #19
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')
Пример #20
0
 def afterSetUp(self):
     self.addLanguage('de')
     self.addLanguage('fr')
     self.addLanguage('es')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'doc')
     self.english.setLanguage('en')
Пример #21
0
 def afterSetUp(self):
     self.login()
     self.setRoles(["Manager"])
     self.addLanguage('de')
     self.setLanguage('en')
     self.weblog_en = makeContent(self.folder, 'Weblog', 'weblog')
     self.weblog_en.setLanguage('en')
Пример #22
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())
    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)
 def afterSetUp(self):
     directlyProvides(self.portal.REQUEST, ILinguaPloneProductLayer)
     self.addLanguage('de')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'index_html')
     self.english.setLanguage('en')
     self.german = makeTranslation(self.english, 'de')
Пример #25
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)
Пример #26
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)
    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())
Пример #28
0
 def afterSetUp(self):
     self.addLanguage('de')
     self.addLanguage('fr')
     self.addLanguage('es')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'doc')
     self.english.setLanguage('en')
Пример #29
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')
Пример #30
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)
Пример #31
0
 def testNeutralContentCannotBeTranslatedDirectly(self):
     self.folder.setLanguage('')
     doc = makeContent(self.folder, 'SimpleType', 'doc')
     self.assertEqual(doc.getLanguage(), '')
     menu = TranslateMenu('translations')
     items = menu.getMenuItems(doc, None)
     self.assertEqual([i['title'] for i in items],
         [u'label_manage_translations'])
Пример #32
0
 def testNeutralContentCannotBeTranslatedDirectly(self):
     self.folder.setLanguage('')
     doc = makeContent(self.folder, 'SimpleType', 'doc')
     self.assertEqual(doc.getLanguage(), '')
     menu = TranslateMenu('translations')
     items = menu.getMenuItems(doc, None)
     self.assertEqual([i['title'] for i in items],
                      [u'label_manage_translations'])
Пример #33
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
Пример #34
0
 def testMenuEmptyForUnauthorizedUsers(self):
     # test menu is empty for unauthorized users:
     self.loginAsPortalOwner()
     doc = makeContent(self.portal, 'SimpleType', 'doc')
     self.login('test_user_1_')
     self.setRoles('Reader')
     menu = TranslateMenu('translations')
     self.assertEqual(menu.getMenuItems(doc, None), [])
Пример #35
0
 def testNotLangIndependentCustomMethodsInNonLP(self):
     english = makeContent(self.folder, 'NonLPSimpleType', 'doc')
     english.setLanguage('en')
     teststring = 'Test string'
     # If this fails, you can't inherit unless you also get a copy of the schema
     english.setFourthContactName(teststring)
     self.assertEqual(english.getFourthContactName(), 'getFourthContactName')
     self.assertEqual(str(english.contactName4), 'cn4 %s' % teststring)
Пример #36
0
 def testLangIndependentGeneratedMethodsInNonLP(self):
     english = makeContent(self.folder, 'NonLPSimpleType', 'doc')
     english.setLanguage('en')
     teststring = 'Test string'
     # If this fails, you can't inherit unless you also get a copy of the schema
     english.setLangIndependentInBase(teststring)
     self.assertEqual(english.getLangIndependentInBase(), teststring)
     self.assertEqual(english.getRawLangIndependentInBase(), teststring)
Пример #37
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)
Пример #38
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('')
Пример #39
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())
Пример #40
0
 def testMenuEmptyForUnauthorizedUsers(self):
     # test menu is empty for unauthorized users:
     self.loginAsPortalOwner()
     doc = makeContent(self.portal, 'SimpleType', 'doc')
     self.login('test_user_1_')
     self.setRoles('Reader')
     menu = TranslateMenu('translations')
     self.assertEqual(menu.getMenuItems(doc, None), [])
 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)
Пример #42
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())
Пример #43
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())
Пример #44
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())
Пример #45
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())
Пример #46
0
 def afterSetUp(self):
     self.addLanguage('de')
     self.addLanguage('no')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'doc')
     self.english.setLanguage('en')
     self.german = makeTranslation(self.english, 'de')
     self.german.setLanguage('de')
     self.catalog = getToolByName(self.portal, 'portal_catalog')
Пример #47
0
 def afterSetUp(self):
     self.addLanguage('de')
     self.addLanguage('no')
     self.setLanguage('en')
     self.english = makeContent(self.folder, 'SimpleType', 'doc')
     self.english.setLanguage('en')
     self.german = makeTranslation(self.english, 'de')
     self.german.setLanguage('de')
     self.attachRender(TranslatableLanguageSelector)
Пример #48
0
 def testLanguageSpecificContentCanBeTranslatedIntoOtherLanguages(self):
     doc = makeContent(self.folder, 'SimpleType', 'doc')
     self.assertEqual(doc.getLanguage(), 'en')
     menu = TranslateMenu('translations')
     self.assertEqual([i['title'] for i in menu.getMenuItems(doc, None)],
                      [u'Deutsch', u'label_manage_translations'])
     self.addLanguage('no')
     self.assertEqual([i['title'] for i in menu.getMenuItems(doc, None)],
                      [u'Deutsch', u'Norsk', u'label_manage_translations'])
 def testLangIndependentGeneratedMethodsInNonLP(self):
     english = makeContent(self.folder, 'NonLPSimpleType', 'doc')
     english.setLanguage('en')
     teststring = 'Test string'
     # If this fails, you can't inherit unless you also get a copy
     # of the schema
     english.setLangIndependentInBase(teststring)
     self.assertEqual(english.getLangIndependentInBase(), teststring)
     self.assertEqual(english.getRawLangIndependentInBase(), teststring)
 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')