Fixed #19272 -- Fixed gettext_lazy returned type on Python 2
Thanks tyrion for the report.
This commit is contained in:
parent
1620c27936
commit
550ddc66b4
|
@ -246,7 +246,8 @@ def do_translate(message, translation_function):
|
||||||
"""
|
"""
|
||||||
global _default
|
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)
|
t = getattr(_active, "value", None)
|
||||||
if t is not None:
|
if t is not None:
|
||||||
result = getattr(t, translation_function)(eol_message)
|
result = getattr(t, translation_function)(eol_message)
|
||||||
|
|
|
@ -83,6 +83,10 @@ class TranslationTests(TestCase):
|
||||||
s4 = ugettext_lazy('Some other string')
|
s4 = ugettext_lazy('Some other string')
|
||||||
self.assertEqual(False, s == s4)
|
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):
|
def test_lazy_pickle(self):
|
||||||
s1 = ugettext_lazy("test")
|
s1 = ugettext_lazy("test")
|
||||||
self.assertEqual(six.text_type(s1), "test")
|
self.assertEqual(six.text_type(s1), "test")
|
||||||
|
|
Loading…
Reference in New Issue