From 34dcf51e06fc57fc5462bd40f6a4c8ee949521da Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Thu, 6 Dec 2012 17:14:44 +0100 Subject: Fixed #19367 -- Fixed saving ContentFile in filesystem storage This was not working properly when ContentFile was initialized with an unicode string. Thanks Alexey Boriskin for the report and the test. --- tests/regressiontests/file_storage/tests.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/regressiontests/file_storage/tests.py b/tests/regressiontests/file_storage/tests.py index 595b65d9f1..45c18ba14a 100644 --- a/tests/regressiontests/file_storage/tests.py +++ b/tests/regressiontests/file_storage/tests.py @@ -560,6 +560,13 @@ class InconsistentGetImageDimensionsBug(unittest.TestCase): class ContentFileTestCase(unittest.TestCase): + def setUp(self): + self.storage_dir = tempfile.mkdtemp() + self.storage = FileSystemStorage(self.storage_dir) + + def tearDown(self): + shutil.rmtree(self.storage_dir) + def test_content_file_default_name(self): self.assertEqual(ContentFile(b"content").name, None) @@ -576,7 +583,18 @@ class ContentFileTestCase(unittest.TestCase): retrieved content is of the same type. """ self.assertTrue(isinstance(ContentFile(b"content").read(), bytes)) - self.assertTrue(isinstance(ContentFile("español").read(), six.text_type)) + if six.PY3: + self.assertTrue(isinstance(ContentFile("español").read(), six.text_type)) + else: + self.assertTrue(isinstance(ContentFile("español").read(), bytes)) + + def test_content_saving(self): + """ + Test that ContentFile can be saved correctly with the filesystem storage, + both if it was initialized with string or unicode content""" + self.storage.save('bytes.txt', ContentFile(b"content")) + self.storage.save('unicode.txt', ContentFile("español")) + class NoNameFileTestCase(unittest.TestCase): """ -- cgit v1.3