mirror of
				https://github.com/django/django.git
				synced 2025-10-30 17:16:10 +00:00 
			
		
		
		
	[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 3841feee86 from master.
			
			
This commit is contained in:
		| @@ -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): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user