Esempio n. 1
0
    def _isFCKEditor(self, html_text, field_id, text_content):
        """
      Tries to find in the HTML page string portions
      which show that text content is displayed using
      FCKEditor for the given field_id

      html_text -- the HTML string to analyze

      field_id -- the id of the field in the form

      text_content -- the embedded text content
    """
        html_text = to_utf8(html_text)
        match_string1 = "var oFCKeditor      = new FCKeditor('field_%s');" % field_id
        match_string2 = "oFCKeditor.Value    = '%s';" % ('\\n'.join(
            text_content.splitlines()))
        if html_text.find(match_string1) == -1:
            print html_text
            print match_string1
            return False
        if html_text.find(match_string2) == -1:
            print html_text
            print match_string2
            return False
        return True
Esempio n. 2
0
 def translate_by_zpt(self, domain, *words):
   zpt_template = """
   <tal:ommit xmlns:i18n="http://xml.zope.org/namespaces/i18n"
              i18n:domain="%s">
     <tal:ommit repeat="word options/words" content="word"
                i18n:translate="">Word</tal:ommit>
   </tal:ommit>
   """ % domain
   self.myzpt.pt_edit(zpt_template, 'text/html')
   results = to_utf8(self.myzpt(words=words)).split()
   return results
Esempio n. 3
0
  def _isTextAreaEditor(self, html_text, field_id, text_content):
    """
      Tries to find in the HTML page string portions
      which show that text content is displayed using
      TextArea for the given field_id

      html_text -- the HTML string to analyze

      field_id -- the id of the field in the form

      text_content -- the embedded text content
    """
    html_text = to_utf8(html_text)
    match_string = """name="field_%s" >\n%s</textarea>""" % (field_id, text_content)
    if html_text.find(match_string) == -1:
      print html_text
      print match_string
      return False
    return True
Esempio n. 4
0
  def _isReadOnlyEditor(self, html_text, document):
    """
      Tries to find in the HTML page string portions
      which show that text content is displayed in read
      only mode with 'page' CSS class in a <div>

      html_text -- the HTML string to analyze

      document -- the document which content is displayed in 
                  read only mode
    """
    html_text = to_utf8(html_text)
    text_content = document.asStrippedHTML()
    match_string1 = """<div class="input"><div class="page" >\n%s</div></div>""" % text_content
    match_string2 = """<div class="field page"""
    if html_text.find(match_string1) == -1:
      print html_text
      print match_string1
      return False
    if html_text.find(match_string2) == -1:
      print html_text
      print match_string2
      return False
    return True
Esempio n. 5
0
  def _isFCKEditor(self, html_text, field_id, text_content):
    """
      Tries to find in the HTML page string portions
      which show that text content is displayed using
      FCKEditor for the given field_id

      html_text -- the HTML string to analyze

      field_id -- the id of the field in the form

      text_content -- the embedded text content
    """
    html_text = to_utf8(html_text)
    match_string1 = "var oFCKeditor      = new FCKeditor('field_%s');" % field_id
    match_string2 = "oFCKeditor.Value    = '%s';" % ('\\n'.join(text_content.splitlines()))
    if html_text.find(match_string1) == -1:
      print html_text
      print match_string1
      return False
    if html_text.find(match_string2) == -1:
      print html_text
      print match_string2
      return False
    return True
Esempio n. 6
0
  def testContentTranslation(self):
    """
    Make sure that translatable properties can have content translation into
    the document and read/write translation text by special accessors.
    """
    portal = self.portal
    person = portal.person_module.newContent(id='yusei',
                                             portal_type='Person',
                                             first_name='Yusei',
                                             last_name='Tahara')
    portal.person_module.newContent(id='tarou',
                                    portal_type='Person',
                                    first_name='Tarou',
                                    last_name='Suzuki')
    portal.person_module.newContent(id='john',
                                    portal_type='Person',
                                    first_name='John',
                                    last_name='Smith')
    transaction.commit()
    self.tic()

    self.assertEqual(getattr(person, 'setJaKanaTranslatedFirstName', False),
                     False)
    self.assertEqual(getattr(person, 'getJaKanaTranslatedFirstName', False),
                     False)
    self.assert_(getattr(person, 'getEnTranslatedFirstName', False))
    self.assert_(getattr(person, 'getEnTranslatedFirstName', False))

    ##
    # Add custom local.language
    ##
    portal.Localizer._add_user_defined_language('Japanese Kana', 'ja-kana')
    portal.Localizer.add_language('ja-kana')
    transaction.commit()
    self.tic()

    self.assert_(getattr(person, 'setJaKanaTranslatedFirstName', False))
    self.assert_(getattr(person, 'getJaKanaTranslatedFirstName', False))
    self.assert_(getattr(person, 'hasJaKanaTranslatedFirstName', False))

    self.assert_(not person.hasJaKanaTranslatedFirstName())

    # if there is no translation, original value is returned.
    self.assertEqual('Yusei', person.getTranslatedFirstName())
    self.assertEqual('Yusei Tahara', person.getTranslatedTitle())
    self.assertEqual('Yusei', person.getJaKanaTranslatedFirstName())
    # if no_original_value parameter is true, an empty string is returned.
    self.assertEqual('', person.getTranslatedFirstName(no_original_value=True))
    self.assertEqual('', person.getTranslatedTitle(no_original_value=True))
    self.assertEqual('', person.getJaKanaTranslatedFirstName(no_original_value=True))

    person.setJaKanaTranslatedFirstName('タハラ')
    person.setJaKanaTranslatedLastName('ユウセイ')

    self.assert_(person.hasJaKanaTranslatedFirstName())

    transaction.commit()
    self.tic()

    self.assert_('タハラ' in to_utf8(person.Base_viewContentTranslation()))
    self.assert_('ユウセイ' in to_utf8(person.Base_viewContentTranslation()))

    self.assertEqual(person.getJaKanaTranslatedFirstName(), 'タハラ')
    self.assertEqual(person.getJaKanaTranslatedLastName(), 'ユウセイ')
    self.assertEqual(person.getTranslatedTitle(language='ja-kana'),
                     'タハラ ユウセイ')

    # check with acquisition
    self.assertEquals(person.getAddress(), None)
    
    person.setDefaultAddressStreetAddress('Taito-ku Tokyo')
    self.assertEquals(person.getDefaultAddressStreetAddress(), 'Taito-ku Tokyo')

    person.setDefaultAddressJaKanaTranslatedStreetAddress('東京都 台東区')
    self.assertEquals(person.getDefaultAddressJaKanaTranslatedStreetAddress(), '東京都 台東区')
    self.assertEquals(person.getDefaultAddressTranslatedStreetAddress(language='ja-kana'), '東京都 台東区')

    # check acquired target
    address = person.getDefaultAddress()
    self.assertEquals(address.getStreetAddress(), 'Taito-ku Tokyo')
    self.assertEquals(address.getJaKanaTranslatedStreetAddress(), '東京都 台東区')
    self.assertEquals(address.getTranslatedStreetAddress(language='ja-kana'), '東京都 台東区')
  def testContentTranslation(self):
    """
    Make sure that translatable properties can have content translation into
    the document and read/write translation text by special accessors.
    """
    portal = self.portal
    person = portal.person_module.newContent(id='yusei',
                                             portal_type='Person',
                                             first_name='Yusei',
                                             last_name='Tahara')
    portal.person_module.newContent(id='tarou',
                                    portal_type='Person',
                                    first_name='Tarou',
                                    last_name='Suzuki')
    portal.person_module.newContent(id='john',
                                    portal_type='Person',
                                    first_name='John',
                                    last_name='Smith')
    self.tic()

    self.assertEqual(getattr(person, 'setJaKanaTranslatedFirstName', False),
                     False)
    self.assertEqual(getattr(person, 'getJaKanaTranslatedFirstName', False),
                     False)
    self.assert_(getattr(person, 'getEnTranslatedFirstName', False))
    self.assert_(getattr(person, 'getEnTranslatedFirstName', False))

    ##
    # Add custom local.language
    ##
    portal.Localizer._add_user_defined_language('Japanese Kana', 'ja-kana')
    portal.Localizer.add_language('ja-kana')
    self.tic()

    self.assert_(getattr(person, 'setJaKanaTranslatedFirstName', False))
    self.assert_(getattr(person, 'getJaKanaTranslatedFirstName', False))
    self.assert_(getattr(person, 'hasJaKanaTranslatedFirstName', False))

    self.assert_(not person.hasJaKanaTranslatedFirstName())

    # if there is no translation, original value is returned.
    self.assertEqual('Yusei', person.getTranslatedFirstName())
    self.assertEqual('Yusei Tahara', person.getTranslatedTitle())
    self.assertEqual('Yusei', person.getJaKanaTranslatedFirstName())
    # if no_original_value parameter is true, an empty string is returned.
    self.assertEqual('', person.getTranslatedFirstName(no_original_value=True))
    self.assertEqual('', person.getTranslatedTitle(no_original_value=True))
    self.assertEqual('', person.getJaKanaTranslatedFirstName(no_original_value=True))

    person.setJaKanaTranslatedFirstName('タハラ')
    person.setJaKanaTranslatedLastName('ユウセイ')

    self.assert_(person.hasJaKanaTranslatedFirstName())

    self.tic()

    self.assert_('タハラ' in to_utf8(person.Base_viewContentTranslation()))
    self.assert_('ユウセイ' in to_utf8(person.Base_viewContentTranslation()))

    self.assertEqual(person.getJaKanaTranslatedFirstName(), 'タハラ')
    self.assertEqual(person.getJaKanaTranslatedLastName(), 'ユウセイ')
    self.assertEqual(person.getTranslatedTitle(language='ja-kana'),
                     'タハラ ユウセイ')

    # check with acquisition
    self.assertEqual(person.getAddress(), None)
    
    person.setDefaultAddressStreetAddress('Taito-ku Tokyo')
    self.assertEqual(person.getDefaultAddressStreetAddress(), 'Taito-ku Tokyo')

    person.setDefaultAddressJaKanaTranslatedStreetAddress('東京都 台東区')
    self.assertEqual(person.getDefaultAddressJaKanaTranslatedStreetAddress(), '東京都 台東区')
    self.assertEqual(person.getDefaultAddressTranslatedStreetAddress(language='ja-kana'), '東京都 台東区')

    # check acquired target
    address = person.getDefaultAddress()
    self.assertEqual(address.getStreetAddress(), 'Taito-ku Tokyo')
    self.assertEqual(address.getJaKanaTranslatedStreetAddress(), '東京都 台東区')
    self.assertEqual(address.getTranslatedStreetAddress(language='ja-kana'), '東京都 台東区')