web/test/unittest_formfields.py
changeset 9444 6012cf57f48e
parent 8666 1dd655788ece
child 9647 74cddb36ce1e
equal deleted inserted replaced
9443:6ff9401c37c1 9444:6012cf57f48e
    23 
    23 
    24 from cubicweb.devtools import TestServerConfiguration
    24 from cubicweb.devtools import TestServerConfiguration
    25 from cubicweb.devtools.testlib import CubicWebTC
    25 from cubicweb.devtools.testlib import CubicWebTC
    26 from cubicweb.web.formwidgets import PasswordInput, TextArea, Select, Radio
    26 from cubicweb.web.formwidgets import PasswordInput, TextArea, Select, Radio
    27 from cubicweb.web.formfields import *
    27 from cubicweb.web.formfields import *
    28 from cubicweb.web.views.forms import EntityFieldsForm
    28 from cubicweb.web.views.forms import EntityFieldsForm, FieldsForm
    29 
    29 
    30 from cubes.file.entities import File
    30 from cubes.file.entities import File
    31 
    31 
    32 def setUpModule(*args):
    32 def setUpModule(*args):
    33     global schema
    33     global schema
   158         form = EntityFieldsForm(req, entity=e)
   158         form = EntityFieldsForm(req, entity=e)
   159         form.formvalues = {}
   159         form.formvalues = {}
   160         field.render(form, renderer)
   160         field.render(form, renderer)
   161 
   161 
   162 
   162 
       
   163 class CompoundFieldTC(CubicWebTC):
       
   164 
       
   165     def test_multipart(self):
       
   166         """Ensures that compound forms have needs_multipart set if their
       
   167         children require it"""
       
   168         class AForm(FieldsForm):
       
   169             comp = CompoundField([IntField(), StringField()])
       
   170         aform = AForm(self.request(), None)
       
   171         self.assertFalse(aform.needs_multipart)
       
   172         class MForm(FieldsForm):
       
   173             comp = CompoundField([IntField(), FileField()])
       
   174         mform = MForm(self.request(), None)
       
   175         self.assertTrue(mform.needs_multipart)
       
   176 
       
   177 
   163 class UtilsTC(TestCase):
   178 class UtilsTC(TestCase):
   164     def test_vocab_sort(self):
   179     def test_vocab_sort(self):
   165         self.assertEqual(vocab_sort([('Z', 1), ('A', 2),
   180         self.assertEqual(vocab_sort([('Z', 1), ('A', 2),
   166                                       ('Group 1', None), ('Y', 3), ('B', 4),
   181                                       ('Group 1', None), ('Y', 3), ('B', 4),
   167                                       ('Group 2', None), ('X', 5), ('C', 6)]),
   182                                       ('Group 2', None), ('X', 5), ('C', 6)]),