mirror of https://github.com/django/django.git
Added a test for force_text()'s DjangoUnicodeDecodeError path.
This commit is contained in:
parent
8e3f9d3ee2
commit
2f1394c76d
|
@ -2,14 +2,15 @@ import datetime
|
||||||
import unittest
|
import unittest
|
||||||
from urllib.parse import quote_plus
|
from urllib.parse import quote_plus
|
||||||
|
|
||||||
|
from django.test import SimpleTestCase
|
||||||
from django.utils.encoding import (
|
from django.utils.encoding import (
|
||||||
escape_uri_path, filepath_to_uri, force_bytes, force_text, iri_to_uri,
|
DjangoUnicodeDecodeError, escape_uri_path, filepath_to_uri, force_bytes,
|
||||||
smart_text, uri_to_iri,
|
force_text, iri_to_uri, smart_text, uri_to_iri,
|
||||||
)
|
)
|
||||||
from django.utils.functional import SimpleLazyObject
|
from django.utils.functional import SimpleLazyObject
|
||||||
|
|
||||||
|
|
||||||
class TestEncodingUtils(unittest.TestCase):
|
class TestEncodingUtils(SimpleTestCase):
|
||||||
def test_force_text_exception(self):
|
def test_force_text_exception(self):
|
||||||
"""
|
"""
|
||||||
Broken __str__ actually raises an error.
|
Broken __str__ actually raises an error.
|
||||||
|
@ -26,6 +27,14 @@ class TestEncodingUtils(unittest.TestCase):
|
||||||
s = SimpleLazyObject(lambda: 'x')
|
s = SimpleLazyObject(lambda: 'x')
|
||||||
self.assertTrue(type(force_text(s)), str)
|
self.assertTrue(type(force_text(s)), str)
|
||||||
|
|
||||||
|
def test_force_text_DjangoUnicodeDecodeError(self):
|
||||||
|
msg = (
|
||||||
|
"'utf-8' codec can't decode byte 0xff in position 0: invalid "
|
||||||
|
"start byte. You passed in b'\\xff' (<class 'bytes'>)"
|
||||||
|
)
|
||||||
|
with self.assertRaisesMessage(DjangoUnicodeDecodeError, msg):
|
||||||
|
force_text(b'\xff')
|
||||||
|
|
||||||
def test_force_bytes_exception(self):
|
def test_force_bytes_exception(self):
|
||||||
"""
|
"""
|
||||||
force_bytes knows how to convert to bytes an exception
|
force_bytes knows how to convert to bytes an exception
|
||||||
|
|
Loading…
Reference in New Issue