diff options
| author | Baptiste Mispelon <bmispelon@gmail.com> | 2013-12-12 15:58:14 +0100 |
|---|---|---|
| committer | Baptiste Mispelon <bmispelon@gmail.com> | 2013-12-12 16:09:12 +0100 |
| commit | 2c837233f5de7d5e309833e39782c7a208a03880 (patch) | |
| tree | 4d4f48894b5f81df7e041a9cc4efffbb076453fe /tests/utils_tests/test_text.py | |
| parent | b9c7234e2a88a62201eaf865c5c57d5d66e7c64b (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.py | 8 |
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'), |
