diff options
| author | Baptiste Mispelon <bmispelon@gmail.com> | 2014-02-20 19:13:25 +0100 |
|---|---|---|
| committer | Baptiste Mispelon <bmispelon@gmail.com> | 2014-02-20 23:59:51 +0100 |
| commit | 12da6902e9cd8de2bc9eeef08c850a6c79aaa7cc (patch) | |
| tree | 3065865ad7e911c35df643ffd05f297c5b0249f0 /tests | |
| parent | e56ce87bd8cb85a14d34e7bdfac4b55fac95faea (diff) | |
[1.6.x] Fixed #22107 -- Fixed django.core.files.File object iteration.
Due to a mixup between text and bytes, iteration over
a File instance was broken under Python 3.
Thanks to trac user pdewacht for the report and patch.
Backport of 3841feee86cae65165f120db7a5d80ffc76dd520 from master.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/files/tests.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/files/tests.py b/tests/files/tests.py index daf5a30e9d..2766ed1630 100644 --- a/tests/files/tests.py +++ b/tests/files/tests.py @@ -1,5 +1,6 @@ from __future__ import absolute_import +from io import BytesIO import os import gzip import shutil @@ -164,6 +165,14 @@ class FileTests(unittest.TestCase): self.assertFalse(hasattr(file, 'mode')) g = gzip.GzipFile(fileobj=file) + def test_file_iteration(self): + """ + File objects should yield lines when iterated over. + Refs #22107. + """ + file = File(BytesIO(b'one\ntwo\nthree')) + self.assertEqual(list(file), [b'one\n', b'two\n', b'three']) + class FileMoveSafeTests(unittest.TestCase): def test_file_move_overwrite(self): |
