Exemple #1
0
 def test_deserialize_null(self):
     from colander import null
     widget = self._makeOne()
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     self.assertTrue(widget.deserialize(field, null) is null)
Exemple #2
0
 def test_deserialize_list(self):
     widget = self._makeOne()
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     self.assertEqual(widget.deserialize(field, ['abc', 'def']),
                      ('abc', 'def'))
Exemple #3
0
 def test_deserialize_w_time_no_seconds(self):
     widget = self._makeOne()
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     pstruct = {'date': '2013-05-03', 'time': '09:28'}
     cstruct = widget.deserialize(field, pstruct)
     self.assertEqual(cstruct, '2013-05-03 09:28:00')
Exemple #4
0
 def test_deserialize_empty_date(self):
     from colander import Invalid
     widget = self._makeOne()
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     pstruct = {'date': '', 'time': '09:28:37'}
     self.assertRaises(Invalid, widget.deserialize, field, pstruct)
Exemple #5
0
 def test_deserialize_empty_date_and_time(self):
     from colander import null
     widget = self._makeOne()
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     pstruct = {'date': '', 'time': ''}
     self.assertTrue(widget.deserialize(field, pstruct) is null)
Exemple #6
0
 def test_serialize_None(self):
     widget = self._makeOne()
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     widget.serialize(field, None)
     self.assertEqual(renderer.template, widget.template)
     self.assertEqual(renderer.kw['field'], field)
     self.assertEqual(renderer.kw['cstruct'], ())
Exemple #7
0
 def test_serialize_not_null_readonly(self):
     widget = self._makeOne()
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     cstruct = 'abc'
     widget.serialize(field, cstruct, readonly=True)
     self.assertEqual(renderer.template, widget.readonly_template)
     self.assertEqual(renderer.kw['field'], field)
     self.assertEqual(renderer.kw['cstruct'], cstruct)
Exemple #8
0
 def test_serialize_null(self):
     from colander import null
     widget = self._makeOne()
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     widget.serialize(field, null)
     self.assertEqual(renderer.template, widget.template)
     self.assertEqual(renderer.kw['field'], field)
     self.assertEqual(renderer.kw['cstruct'], ())
Exemple #9
0
 def test_serialize_not_null_readonly(self):
     widget = self._makeOne()
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     widget.serialize(field, '2013-05-03 09:28:37', readonly=True)
     self.assertEqual(renderer.template, widget.readonly_template)
     self.assertEqual(renderer.kw['field'], field)
     self.assertEqual(renderer.kw['date'], '2013-05-03')
     self.assertEqual(renderer.kw['time'], '09:28:37')
Exemple #10
0
 def test_serialize_wo_tz(self):
     widget = self._makeOne()
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     widget.serialize(field, '2013-05-03T09:28:37')
     self.assertEqual(renderer.template, widget.template)
     self.assertEqual(renderer.kw['field'], field)
     self.assertEqual(renderer.kw['date'], '2013-05-03')
     self.assertEqual(renderer.kw['time'], '09:28:37')
Exemple #11
0
 def test_serialize_not_null(self):
     widget = self._makeOne()
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     widget.values = [{
         'label': 'alphabet',
         'values': [('abc', 'ABC'), ('def', 'DEF')],
     }]
     widget.serialize(field, 'abc')
     self.assertEqual(renderer.template, widget.template)
     self.assertEqual(renderer.kw['field'], field)
     self.assertEqual(renderer.kw['cstruct'], 'abc')
Exemple #12
0
 def test_serialize_iterable(self):
     widget = self._makeOne()
     values = [1, 2, 3, 4]
     widget.values = values
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     cstruct = 'abc'
     widget.serialize(field, cstruct)
     self.assertEqual(renderer.template, widget.template)
     self.assertEqual(renderer.kw['field'], field)
     self.assertEqual(renderer.kw['cstruct'], cstruct)
     renderer_options = json.loads('{"source": ' + renderer.kw['values'] +
                                   renderer.kw['options'] + '}')
     self.assertEqual(renderer_options['source'], values)
 def test_serialize_remote(self):
     widget = self._makeOne(min_length=2, items=5)
     values = '/items'
     widget.source = values
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     cstruct = 'abc'
     widget.serialize(field, cstruct)
     self.assertEqual(renderer.template, widget.template)
     self.assertEqual(renderer.kw['field'], field)
     self.assertEqual(renderer.kw['cstruct'], cstruct)
     self.assertEqual(renderer.kw['values'],
                      ('function (query, process){'
                       '$.getJSON("/items", {"term": query}, process);}'))
     self.assertEqual(renderer.kw['options'],
                      ', "minLength": 2, "items": 5')
 def test_serialize_url(self):
     import json
     from deform.tests.test_widget import (
         DummyRenderer,
         DummyField,
         DummySchema,
         )
     request = testing.DummyRequest()
     request.mgmt_path = lambda req, name: 'myurl'
     widget = self._makeOne(request)
     renderer = DummyRenderer()
     schema = DummySchema()
     field = DummyField(schema, renderer=renderer)
     cstruct = 'abc'
     widget.serialize(field, cstruct)
     self.assertEqual(renderer.template, widget.template)
     self.assertEqual(renderer.kw['field'], field)
     self.assertEqual(renderer.kw['cstruct'], cstruct)
     self.assertEqual(renderer.kw['options'],
                      '{"delay": 400, "minLength": 2}')
     self.assertEqual(renderer.kw['values'],
                      json.dumps('myurl'))