summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2012-11-14 10:50:15 +0100
committerClaude Paroz <claude@2xlibre.net>2012-11-14 10:50:15 +0100
commit550ddc66b496473c8ee282c7ab6be5885a359d75 (patch)
tree03cb8eaccb5aad52db8181d97e43f3735b6362a5
parent1620c27936718a87bbc8acce7886ef20fee2b3fe (diff)
Fixed #19272 -- Fixed gettext_lazy returned type on Python 2
Thanks tyrion for the report.
-rw-r--r--django/utils/translation/trans_real.py3
-rw-r--r--tests/regressiontests/i18n/tests.py4
2 files changed, 6 insertions, 1 deletions
diff --git a/django/utils/translation/trans_real.py b/django/utils/translation/trans_real.py
index 9e94840ee0..1bcef2d8de 100644
--- a/django/utils/translation/trans_real.py
+++ b/django/utils/translation/trans_real.py
@@ -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)
diff --git a/tests/regressiontests/i18n/tests.py b/tests/regressiontests/i18n/tests.py
index 4054f85ef0..2e0c097a19 100644
--- a/tests/regressiontests/i18n/tests.py
+++ b/tests/regressiontests/i18n/tests.py
@@ -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")