mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-07 13:54:47 +03:00
Add a test to show a regression with RegexField
and compiled regex
This commit is contained in:
parent
a68b37d8bc
commit
9833afa795
|
@ -1,5 +1,6 @@
|
|||
import datetime
|
||||
import os
|
||||
import re
|
||||
import uuid
|
||||
from decimal import Decimal
|
||||
|
||||
|
@ -590,6 +591,20 @@ class TestRegexField(FieldValues):
|
|||
field = serializers.RegexField(regex='[a-z][0-9]')
|
||||
|
||||
|
||||
class TestiCompiledRegexField(FieldValues):
|
||||
"""
|
||||
Valid and invalid values for `RegexField`.
|
||||
"""
|
||||
valid_inputs = {
|
||||
'a9': 'a9',
|
||||
}
|
||||
invalid_inputs = {
|
||||
'A9': ["This value does not match the required pattern."]
|
||||
}
|
||||
outputs = {}
|
||||
field = serializers.RegexField(regex=re.compile('[a-z][0-9]'))
|
||||
|
||||
|
||||
class TestSlugField(FieldValues):
|
||||
"""
|
||||
Valid and invalid values for `SlugField`.
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
import pickle
|
||||
import re
|
||||
|
||||
import pytest
|
||||
|
||||
|
@ -337,3 +338,16 @@ class TestDefaultInclusions:
|
|||
assert serializer.is_valid()
|
||||
assert serializer.validated_data == {'integer': 456}
|
||||
assert serializer.errors == {}
|
||||
|
||||
|
||||
class TestSerializerValidationWithCompiledRegexField:
|
||||
def setup(self):
|
||||
class ExampleSerializer(serializers.Serializer):
|
||||
name = serializers.RegexField(re.compile(r'\d'), required=True)
|
||||
self.Serializer = ExampleSerializer
|
||||
|
||||
def test_validation_success(self):
|
||||
serializer = self.Serializer(data={'name': '2'})
|
||||
assert serializer.is_valid()
|
||||
assert serializer.validated_data == {'name': '2'}
|
||||
assert serializer.errors == {}
|
||||
|
|
Loading…
Reference in New Issue
Block a user