Example #1
0
 def _assert_translations(self, msg, locale, expected_translation):
     """Validates that the message translation in the given locale is as
     expected. For sanity, other locales are tested too and those should
     result in the same message being passed in.
     """
     self.assertEqual(unicode(msg),
                      gettextutils.get_localized_message(msg, 'en'))
     self.assertEqual(unicode(msg),
                      gettextutils.get_localized_message(msg, 'XX'))
     self.assertEqual(unicode(msg),
                      gettextutils.get_localized_message(msg, None))
     self.assertEqual(unicode(expected_translation),
                      gettextutils.get_localized_message(msg, locale))
Example #2
0
 def _assert_translations(self, msg, locale, expected_translation):
     """Validates that the message translation in the given locale is as
     expected. For sanity, other locales are tested too and those should
     result in the same message being passed in.
     """
     self.assertEqual(unicode(msg),
                      gettextutils.get_localized_message(msg, 'en'))
     self.assertEqual(unicode(msg),
                      gettextutils.get_localized_message(msg, 'XX'))
     self.assertEqual(unicode(msg),
                      gettextutils.get_localized_message(msg, None))
     self.assertEqual(unicode(expected_translation),
                      gettextutils.get_localized_message(msg, locale))
Example #3
0
    def test_get_localized_message(self):
        non_message = 'Non-translatable Message'
        en_message = 'A message in the default locale'
        es_translation = 'A message in Spanish'
        zh_translation = 'A message in Chinese'
        message = gettextutils.Message(en_message, 'test_domain')

        # In the Message class the translation ultimately occurs when the
        # message is turned into a string, and that is what we mock here
        def _mock_translation_and_unicode(self):
            if self.locale == 'es':
                return es_translation
            if self.locale == 'zh':
                return zh_translation
            return self.data

        self.stubs.Set(gettextutils.Message, '__unicode__',
                       _mock_translation_and_unicode)

        self.assertEqual(es_translation,
                         gettextutils.get_localized_message(message, 'es'))
        self.assertEqual(zh_translation,
                         gettextutils.get_localized_message(message, 'zh'))
        self.assertEqual(en_message,
                         gettextutils.get_localized_message(message, 'en'))
        self.assertEqual(en_message,
                         gettextutils.get_localized_message(message, 'XX'))
        self.assertEqual(en_message,
                         gettextutils.get_localized_message(message, None))
        self.assertEqual(non_message,
                         gettextutils.get_localized_message(non_message, 'A'))
Example #4
0
    def test_get_localized_message(self):
        non_message = 'Non-translatable Message'
        en_message = 'A message in the default locale'
        es_translation = 'A message in Spanish'
        zh_translation = 'A message in Chinese'
        message = gettextutils.Message(en_message, 'test_domain')

        # In the Message class the translation ultimately occurs when the
        # message is turned into a string, and that is what we mock here
        def _mock_translation_and_unicode(self):
            if self.locale == 'es':
                return es_translation
            if self.locale == 'zh':
                return zh_translation
            return self.data

        self.stubs.Set(gettextutils.Message,
                       '__unicode__', _mock_translation_and_unicode)

        self.assertEqual(es_translation,
                         gettextutils.get_localized_message(message, 'es'))
        self.assertEqual(zh_translation,
                         gettextutils.get_localized_message(message, 'zh'))
        self.assertEqual(en_message,
                         gettextutils.get_localized_message(message, 'en'))
        self.assertEqual(en_message,
                         gettextutils.get_localized_message(message, 'XX'))
        self.assertEqual(en_message,
                         gettextutils.get_localized_message(message, None))
        self.assertEqual(non_message,
                         gettextutils.get_localized_message(non_message, 'A'))