Add a test to show a regression with RegexField

and compiled regex
This commit is contained in:
Nicolas Delaby 2016-09-15 10:34:29 +02:00
parent a68b37d8bc
commit 9833afa795
2 changed files with 29 additions and 0 deletions

View File

@ -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`.

View File

@ -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 == {}