From b15a6ccef2e13ab3310dbe856a945bba56e21c63 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Sun, 2 Jun 2013 20:12:49 +0100 Subject: Serializer field 'default' argument may be a callable --- rest_framework/tests/test_fields.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'rest_framework/tests') diff --git a/rest_framework/tests/test_fields.py b/rest_framework/tests/test_fields.py index 3f956051..de371001 100644 --- a/rest_framework/tests/test_fields.py +++ b/rest_framework/tests/test_fields.py @@ -852,3 +852,17 @@ class FieldMetadata(TestCase): def test_label(self): for field in (self.required_field, self.optional_field): self.assertEqual(field.metadata()['label'], field.label) + + +class FieldCallableDefault(TestCase): + def setUp(self): + self.simple_callable = lambda: 'foo bar' + + def test_default_can_be_simple_callable(self): + """ + Ensure that the 'default' argument can also be a simple callable. + """ + field = serializers.WritableField(default=self.simple_callable) + into = {} + field.field_from_native({}, {}, 'field', into) + self.assertEquals(into, {'field': 'foo bar'}) -- cgit v1.2.3