Kaydet (Commit) 2f1394c7 authored tarafından Tim Graham's avatar Tim Graham

Added a test for force_text()'s DjangoUnicodeDecodeError path.

üst 8e3f9d3e
......@@ -2,14 +2,15 @@ import datetime
import unittest
from urllib.parse import quote_plus
from django.test import SimpleTestCase
from django.utils.encoding import (
escape_uri_path, filepath_to_uri, force_bytes, force_text, iri_to_uri,
smart_text, uri_to_iri,
DjangoUnicodeDecodeError, escape_uri_path, filepath_to_uri, force_bytes,
force_text, iri_to_uri, smart_text, uri_to_iri,
)
from django.utils.functional import SimpleLazyObject
class TestEncodingUtils(unittest.TestCase):
class TestEncodingUtils(SimpleTestCase):
def test_force_text_exception(self):
"""
Broken __str__ actually raises an error.
......@@ -26,6 +27,14 @@ class TestEncodingUtils(unittest.TestCase):
s = SimpleLazyObject(lambda: 'x')
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):
"""
force_bytes knows how to convert to bytes an exception
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment