mirror of
https://github.com/django/django.git
synced 2025-10-09 18:12:39 +00:00
Fixed #21548 -- Added FileExtensionValidator and validate_image_file_extension.
This commit is contained in:
parent
c9d0a0f7f4
commit
12b4280444
6 changed files with 141 additions and 6 deletions
|
@ -9,11 +9,13 @@ from datetime import datetime, timedelta
|
|||
from unittest import TestCase
|
||||
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.core.files.base import ContentFile
|
||||
from django.core.validators import (
|
||||
BaseValidator, DecimalValidator, EmailValidator, MaxLengthValidator,
|
||||
MaxValueValidator, MinLengthValidator, MinValueValidator, RegexValidator,
|
||||
URLValidator, int_list_validator, validate_comma_separated_integer_list,
|
||||
validate_email, validate_integer, validate_ipv4_address,
|
||||
BaseValidator, DecimalValidator, EmailValidator, FileExtensionValidator,
|
||||
MaxLengthValidator, MaxValueValidator, MinLengthValidator,
|
||||
MinValueValidator, RegexValidator, URLValidator, int_list_validator,
|
||||
validate_comma_separated_integer_list, validate_email,
|
||||
validate_image_file_extension, validate_integer, validate_ipv4_address,
|
||||
validate_ipv6_address, validate_ipv46_address, validate_slug,
|
||||
validate_unicode_slug,
|
||||
)
|
||||
|
@ -242,6 +244,17 @@ TEST_DATA = [
|
|||
(RegexValidator('x', flags=re.IGNORECASE), 'y', ValidationError),
|
||||
(RegexValidator('a'), 'A', ValidationError),
|
||||
(RegexValidator('a', flags=re.IGNORECASE), 'A', None),
|
||||
|
||||
(FileExtensionValidator(['txt']), ContentFile('contents', name='fileWithUnsupportedExt.jpg'), ValidationError),
|
||||
(FileExtensionValidator(['txt']), ContentFile('contents', name='fileWithNoExtenstion'), ValidationError),
|
||||
(FileExtensionValidator([]), ContentFile('contents', name='file.txt'), ValidationError),
|
||||
(FileExtensionValidator(['txt']), ContentFile('contents', name='file.txt'), None),
|
||||
(FileExtensionValidator(), ContentFile('contents', name='file.jpg'), None),
|
||||
|
||||
(validate_image_file_extension, ContentFile('contents', name='file.jpg'), None),
|
||||
(validate_image_file_extension, ContentFile('contents', name='file.png'), None),
|
||||
(validate_image_file_extension, ContentFile('contents', name='file.txt'), ValidationError),
|
||||
(validate_image_file_extension, ContentFile('contents', name='file'), ValidationError),
|
||||
]
|
||||
|
||||
|
||||
|
@ -422,3 +435,33 @@ class TestValidatorEquality(TestCase):
|
|||
DecimalValidator(1, 2),
|
||||
MinValueValidator(11),
|
||||
)
|
||||
|
||||
def test_file_extension_equality(self):
|
||||
self.assertEqual(
|
||||
FileExtensionValidator(),
|
||||
FileExtensionValidator()
|
||||
)
|
||||
self.assertEqual(
|
||||
FileExtensionValidator(['txt']),
|
||||
FileExtensionValidator(['txt'])
|
||||
)
|
||||
self.assertEqual(
|
||||
FileExtensionValidator(['txt']),
|
||||
FileExtensionValidator(['txt'], code='invalid_extension')
|
||||
)
|
||||
self.assertNotEqual(
|
||||
FileExtensionValidator(['txt']),
|
||||
FileExtensionValidator(['png'])
|
||||
)
|
||||
self.assertNotEqual(
|
||||
FileExtensionValidator(['txt']),
|
||||
FileExtensionValidator(['png', 'jpg'])
|
||||
)
|
||||
self.assertNotEqual(
|
||||
FileExtensionValidator(['txt']),
|
||||
FileExtensionValidator(['txt'], code='custom_code')
|
||||
)
|
||||
self.assertNotEqual(
|
||||
FileExtensionValidator(['txt']),
|
||||
FileExtensionValidator(['txt'], message='custom error message')
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue