diff options
| author | Oscar Vilaplana | 2013-05-18 18:27:53 +0200 | 
|---|---|---|
| committer | Oscar Vilaplana | 2013-05-18 18:27:53 +0200 | 
| commit | fecadacab150aab48b8b84f4f0e5340ead74c287 (patch) | |
| tree | 9a2c2465cbec6ab70c801d929410fb74aef2c701 /rest_framework | |
| parent | 4dffcb5d77a575793c1dc7c1db5242a3ac2d7345 (diff) | |
| download | django-rest-framework-fecadacab150aab48b8b84f4f0e5340ead74c287.tar.bz2 | |
added tests for form
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/fields.py | 6 | ||||
| -rw-r--r-- | rest_framework/tests/fields.py | 23 | 
2 files changed, 25 insertions, 4 deletions
| diff --git a/rest_framework/fields.py b/rest_framework/fields.py index b23813ec..544afc98 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -135,8 +135,7 @@ def humanize_field(field):      """      humanized = { -        'type': (field.type_name if field.type_name -                 else humanize_field_type(field.form_field_class)), +        'type': humanize_field_type(field.__class__),          'required': getattr(field, 'required', False),          'label': field.label,      } @@ -154,7 +153,8 @@ def humanize_form_fields(form):      :return: A dictionary of {field_label: humanized description}      """ -    fields = SortedDict([(f.name, humanize_field(f)) for f in form.fields]) +    fields = SortedDict([(name, humanize_field(field)) +                         for name, field in form.fields.iteritems()])      return fields diff --git a/rest_framework/tests/fields.py b/rest_framework/tests/fields.py index de61b011..6a180cb8 100644 --- a/rest_framework/tests/fields.py +++ b/rest_framework/tests/fields.py @@ -4,7 +4,8 @@ General serializer field tests.  from __future__ import unicode_literals  from django.utils.datastructures import SortedDict  import datetime -from rest_framework.fields import humanize_field, humanize_field_type +from rest_framework.fields import (humanize_field, humanize_field_type, +                                   humanize_form_fields)  from django import forms  from decimal import Decimal  from django.db import models @@ -742,3 +743,23 @@ class HumanizedField(TestCase):      def test_label(self):          for field in (self.required_field, self.optional_field):              self.assertEqual(humanize_field(field)['label'], field.label) + + +class Form(forms.Form): +    field1 = forms.CharField(max_length=3, label='field one') +    field2 = forms.CharField(label='field two') + + +class HumanizedSerializer(TestCase): +    def setUp(self): +        self.serializer = TimestampedModelSerializer() + +    def test_humanized(self): +        humanized = humanize_form_fields(Form()) +        self.assertEqual(humanized, { +            'field1': { +                u'help_text': u'', u'required': True, +                u'type': u'Single Character', u'label': 'field one'}, +            'field2': { +                u'help_text': u'', u'required': True, +                u'type': u'Single Character', u'label': 'field two'}}) | 
