mirror of
https://github.com/django/django.git
synced 2025-08-03 18:38:50 +00:00
Fixed #23759 -- Preserved all file extensions in Storage.get_available_name().
This commit is contained in:
parent
3426a5c33c
commit
eb2d49b734
3 changed files with 21 additions and 13 deletions
|
@ -769,18 +769,24 @@ class FileFieldStorageTests(TestCase):
|
|||
|
||||
def test_duplicate_filename(self):
|
||||
# Multiple files with the same name get _(7 random chars) appended to them.
|
||||
objs = [Storage() for i in range(2)]
|
||||
for o in objs:
|
||||
o.normal.save("multiple_files.txt", ContentFile("Same Content"))
|
||||
try:
|
||||
names = [o.normal.name for o in objs]
|
||||
self.assertEqual(names[0], "tests/multiple_files.txt")
|
||||
self.assertRegex(
|
||||
names[1], "tests/multiple_files_%s.txt" % FILE_SUFFIX_REGEX
|
||||
)
|
||||
finally:
|
||||
for o in objs:
|
||||
o.delete()
|
||||
tests = [
|
||||
("multiple_files", "txt"),
|
||||
("multiple_files_many_extensions", "tar.gz"),
|
||||
]
|
||||
for filename, extension in tests:
|
||||
with self.subTest(filename=filename):
|
||||
objs = [Storage() for i in range(2)]
|
||||
for o in objs:
|
||||
o.normal.save(f"{filename}.{extension}", ContentFile("Content"))
|
||||
try:
|
||||
names = [o.normal.name for o in objs]
|
||||
self.assertEqual(names[0], f"tests/{filename}.{extension}")
|
||||
self.assertRegex(
|
||||
names[1], f"tests/{filename}_{FILE_SUFFIX_REGEX}.{extension}"
|
||||
)
|
||||
finally:
|
||||
for o in objs:
|
||||
o.delete()
|
||||
|
||||
def test_file_truncation(self):
|
||||
# Given the max_length is limited, when multiple files get uploaded
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue