Commit 550ddc66 authored by Claude Paroz's avatar Claude Paroz
Browse files

Fixed #19272 -- Fixed gettext_lazy returned type on Python 2

Thanks tyrion for the report.
parent 1620c279
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -246,7 +246,8 @@ def do_translate(message, translation_function):
    """
    global _default

    eol_message = message.replace('\r\n', '\n').replace('\r', '\n')
    # str() is allowing a bytestring message to remain bytestring on Python 2
    eol_message = message.replace(str('\r\n'), str('\n')).replace(str('\r'), str('\n'))
    t = getattr(_active, "value", None)
    if t is not None:
        result = getattr(t, translation_function)(eol_message)
+4 −0
Original line number Diff line number Diff line
@@ -83,6 +83,10 @@ class TranslationTests(TestCase):
        s4 = ugettext_lazy('Some other string')
        self.assertEqual(False, s == s4)

        if not six.PY3:
            # On Python 2, gettext_lazy should not transform a bytestring to unicode
            self.assertEqual(gettext_lazy(b"test").upper(), b"TEST")

    def test_lazy_pickle(self):
        s1 = ugettext_lazy("test")
        self.assertEqual(six.text_type(s1), "test")