mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #19272 -- Fixed gettext_lazy returned type on Python 2
Thanks tyrion for the report.
This commit is contained in:
		| @@ -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") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user