summaryrefslogtreecommitdiff
path: root/tests/utils_tests/test_text.py
diff options
context:
space:
mode:
authorBaptiste Mispelon <bmispelon@gmail.com>2013-12-12 15:58:14 +0100
committerBaptiste Mispelon <bmispelon@gmail.com>2013-12-12 16:09:12 +0100
commit2c837233f5de7d5e309833e39782c7a208a03880 (patch)
tree4d4f48894b5f81df7e041a9cc4efffbb076453fe /tests/utils_tests/test_text.py
parentb9c7234e2a88a62201eaf865c5c57d5d66e7c64b (diff)
Fixed #21574 -- Handle bytes consistently in utils.text.normalize_newlines.
All input is now coerced to text before being normalized. This changes nothing under Python 2 but it allows bytes to be passed to the function without a TypeError under Python3 (bytes are assumed to be utf-8 encoded text). Thanks to trac user vajrasky for the report.
Diffstat (limited to 'tests/utils_tests/test_text.py')
-rw-r--r--tests/utils_tests/test_text.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/tests/utils_tests/test_text.py b/tests/utils_tests/test_text.py
index 2f0e9ede6e..86fe8c38ad 100644
--- a/tests/utils_tests/test_text.py
+++ b/tests/utils_tests/test_text.py
@@ -2,7 +2,7 @@
from __future__ import unicode_literals
from django.test import SimpleTestCase
-from django.utils import text
+from django.utils import six, text
class TestUtilsText(SimpleTestCase):
@@ -114,6 +114,12 @@ class TestUtilsText(SimpleTestCase):
self.assertEqual(text.normalize_newlines("abcdefghi"), "abcdefghi")
self.assertEqual(text.normalize_newlines(""), "")
+ def test_normalize_newlines_bytes(self):
+ """normalize_newlines should be able to handle bytes too"""
+ normalized = text.normalize_newlines(b"abc\ndef\rghi\r\n")
+ self.assertEqual(normalized, "abc\ndef\nghi\n")
+ self.assertIsInstance(normalized, six.text_type)
+
def test_slugify(self):
items = (
('Hello, World!', 'hello-world'),