aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTom Christie2014-12-17 15:24:01 +0000
committerTom Christie2014-12-17 15:24:01 +0000
commitad6533e554663a4c6c40fb02c7d7341fb5afe47f (patch)
tree107d0736824ab8000e26ea4e4be6ef13075d706b /tests
parentffc099a2561be259e6ca378886c0e969a2b5db94 (diff)
parent3fff5cb6e0960b7ff8abd9f13a075f1f057de0a7 (diff)
downloaddjango-rest-framework-ad6533e554663a4c6c40fb02c7d7341fb5afe47f.tar.bz2
Merge pull request #2294 from tomchristie/fix-empty-html-values-with-default
Fix empty HTML values when a default is provided.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_fields.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/test_fields.py b/tests/test_fields.py
index c20bdd8c..7f7af5cc 100644
--- a/tests/test_fields.py
+++ b/tests/test_fields.py
@@ -215,6 +215,26 @@ class TestBooleanHTMLInput:
assert serializer.validated_data == {'archived': False}
+class TestCharHTMLInput:
+ def setup(self):
+ class TestSerializer(serializers.Serializer):
+ message = serializers.CharField(default='happy')
+ self.Serializer = TestSerializer
+
+ def test_empty_html_checkbox(self):
+ """
+ HTML checkboxes do not send any value, but should be treated
+ as `False` by BooleanField.
+ """
+ # This class mocks up a dictionary like object, that behaves
+ # as if it was returned for multipart or urlencoded data.
+ class MockHTMLDict(dict):
+ getlist = None
+ serializer = self.Serializer(data=MockHTMLDict())
+ assert serializer.is_valid()
+ assert serializer.validated_data == {'message': 'happy'}
+
+
class TestCreateOnlyDefault:
def setup(self):
default = serializers.CreateOnlyDefault('2001-01-01')