From cc9b767fc60a8b0455a67f00ca23077b55e709bb Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Tue, 4 Sep 2012 09:24:39 +0200 Subject: Fixed #18902 -- Made force_bytes properly handle exception input Thanks Aymeric Augustin for the report and the initial patch. --- tests/regressiontests/utils/encoding.py | 17 +++++++++++++++++ tests/regressiontests/utils/tests.py | 1 + 2 files changed, 18 insertions(+) create mode 100644 tests/regressiontests/utils/encoding.py (limited to 'tests/regressiontests/utils') diff --git a/tests/regressiontests/utils/encoding.py b/tests/regressiontests/utils/encoding.py new file mode 100644 index 0000000000..d191845518 --- /dev/null +++ b/tests/regressiontests/utils/encoding.py @@ -0,0 +1,17 @@ +# -*- encoding: utf-8 -*- +from __future__ import unicode_literals + +from django.utils import unittest +from django.utils.encoding import force_bytes + + +class TestEncodingUtils(unittest.TestCase): + def test_force_bytes_exception(self): + """ + Test that force_bytes knows how to convert to bytes an exception + containing non-ASCII characters in its args. + """ + error_msg = "This is an exception, voilĂ " + exc = ValueError(error_msg) + result = force_bytes(exc) + self.assertEqual(result, error_msg.encode('utf-8')) diff --git a/tests/regressiontests/utils/tests.py b/tests/regressiontests/utils/tests.py index 08f5f760cc..f4fa75b177 100644 --- a/tests/regressiontests/utils/tests.py +++ b/tests/regressiontests/utils/tests.py @@ -13,6 +13,7 @@ from .dateformat import DateFormatTests from .dateparse import DateParseTests from .datetime_safe import DatetimeTests from .decorators import DecoratorFromMiddlewareTests +from .encoding import TestEncodingUtils from .feedgenerator import FeedgeneratorTest from .functional import FunctionalTestCase from .html import TestUtilsHtml -- cgit v1.3