aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_validation.py
diff options
context:
space:
mode:
authorTom Christie2014-11-05 10:48:30 +0000
committerTom Christie2014-11-05 10:48:30 +0000
commit0a5d088287be1bb56f37504cc75cee10fb4e74a0 (patch)
treebd7a05cb9496d4a374fa4d6186c631a752c5c82b /tests/test_validation.py
parent26b6180f5047e965383553177cd5cd7938bbe63e (diff)
downloaddjango-rest-framework-0a5d088287be1bb56f37504cc75cee10fb4e74a0.tar.bz2
Fix failing copy of fields when RegexValidator is used. Closes #1954.
Diffstat (limited to 'tests/test_validation.py')
-rw-r--r--tests/test_validation.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/test_validation.py b/tests/test_validation.py
index c278d90f..3db82555 100644
--- a/tests/test_validation.py
+++ b/tests/test_validation.py
@@ -1,9 +1,10 @@
from __future__ import unicode_literals
-from django.core.validators import MaxValueValidator
+from django.core.validators import RegexValidator, MaxValueValidator
from django.db import models
from django.test import TestCase
from rest_framework import generics, serializers, status
from rest_framework.test import APIRequestFactory
+import re
factory = APIRequestFactory()
@@ -174,3 +175,20 @@ class TestChoiceFieldChoicesValidate(TestCase):
# f.to_native(value)
# except ValidationError:
# self.fail("Value %s does not validate" % str(value))
+
+
+class RegexSerializer(serializers.Serializer):
+ pin = serializers.CharField(
+ validators=[RegexValidator(regex=re.compile('^[0-9]{4,6}$'),
+ message='A PIN is 4-6 digits')])
+
+expected_repr = """
+RegexSerializer():
+ pin = CharField(validators=[<django.core.validators.RegexValidator object>])
+""".strip()
+
+
+class TestRegexSerializer(TestCase):
+ def test_regex_repr(self):
+ serializer_repr = repr(RegexSerializer())
+ assert serializer_repr == expected_repr