Fixed #18902 -- Made force_bytes properly handle exception input

Thanks Aymeric Augustin for the report and the initial patch.
This commit is contained in:
Claude Paroz 2012-09-04 09:24:39 +02:00
parent 03ad7d3c20
commit cc9b767fc6
3 changed files with 19 additions and 1 deletions

View file

@ -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'))

View file

@ -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