+
')
+
+ field.mode = form.FORM_DISPLAY
+ self.assertEqual(strip(field.render(request)),
+ ' content ')
+
+
+ field = self._makeOne('test')
+ field = field.bind('', u'content', {'test': 'form'})
+ field.update(request)
+
+ self.assertEqual(strip(field.render(request)),
+ '')
+
+ field.mode = form.FORM_DISPLAY
+ self.assertEqual(strip(field.render(request)),
+ ' form ')
+
+
+class TestIntegerField(Base):
+
+ def _makeOne(self, name, **kw):
+ return form.IntegerField(name, **kw)
+
+ def test_fields_int(self):
+ request = DummyRequest()
+
+ field = self._makeOne('test')
+ field = field.bind('', 10, {})
+ field.update(request)
+
+ self.assertIs(field.serialize(form.null), form.null)
+ self.assertEqual(field.serialize(10), '10')
+ self.assertRaises(form.Invalid, field.serialize, u'value')
+
+ self.assertIs(field.deserialize(''), form.null)
+ self.assertEqual(field.deserialize('10'), 10)
+ self.assertRaises(form.Invalid, field.deserialize, u'value')
+
+ self.assertEqual(
+ strip(field.render(request)),
+ '')
+
+class TestFloatField(Base):
+
+ def _makeOne(self, name, **kw):
+ return form.FloatField(name, **kw)
+
+ def test_fields_float(self):
+ request = DummyRequest()
+
+ field = self._makeOne('test')
+ field = field.bind('', 10.34, {})
+ field.update(request)
+
+ self.assertIs(field.serialize(form.null), form.null)
+ self.assertEqual(field.serialize(10.34), '10.34')
+ self.assertRaises(form.Invalid, field.serialize, u'value')
+
+ self.assertIs(field.deserialize(''), form.null)
+ self.assertEqual(field.deserialize('10.34'), 10.34)
+ self.assertRaises(form.Invalid, field.deserialize, u'value')
+
+ self.assertEqual(
+ strip(field.render(request)),
+ '')
+
+
+class TestDeciamlField(Base):
+
+ def _makeOne(self, name, **kw):
+ return form.DecimalField(name, **kw)
+
+ def test_fields_decimal(self):
+ request = DummyRequest()
+
+ field = self._makeOne('test')
+ field = field.bind('', decimal.Decimal('10.34'), {})
+ field.update(request)
+
+ self.assertIs(field.serialize(form.null), form.null)
+ self.assertEqual(field.serialize(decimal.Decimal('10.34')), '10.34')
+ self.assertRaises(form.Invalid, field.serialize, u'value')
+
+ self.assertIs(field.deserialize(''), form.null)
+ self.assertEqual(field.deserialize('10.34'), decimal.Decimal('10.34'))
+ self.assertRaises(form.Invalid, field.deserialize, u'value')
+
+ self.assertEqual(
+ strip(field.render(request)),
+ '')
+
+
+class TestLinesField(Base):
+
+ def _makeOne(self, name, **kw):
+ return form.LinesField(name, **kw)
+
+ def test_fields_decimal(self):
+ request = DummyRequest()
+
+ field = self._makeOne('test')
+ field = field.bind('', ['1','2','3'], {})
+ field.update(request)
+
+ self.assertIs(field.serialize(form.null), form.null)
+ self.assertEqual(field.serialize(['1','2','3']), '1\n2\n3')
+ self.assertRaises(form.Invalid, field.serialize, 1)
+
+ self.assertIs(field.deserialize(''), form.null)
+ self.assertEqual(field.deserialize('1\n2\n3'), ['1','2','3'])
+ self.assertRaises(form.Invalid, field.deserialize, 5)
+
+ self.assertEqual(
+ strip(field.render(request)),
+ '')
+
+
+class TestCheckboxsField(Base):
+
+ def _makeOne(self, name, **kw):
+ return form.CheckboxsField(name, **kw)
+
+ def test_fields_decimal(self):
+ request = DummyRequest()
+
+ field = self._makeOne('test')
+ field = field.bind('', [1,2,3], {})
+ #field.update(request)
+
+ #self.assertIs(field.serialize(form.null), form.null)
+ #self.assertEqual(field.serialize([1,2,3]), ['1','2','3'])
+ #self.assertRaises(form.Invalid, field.serialize, 1)
+
+ #self.assertIs(field.deserialize(''), form.null)
+ #self.assertEqual(field.deserialize(['1','2','3']), [1,2,3])
+ #self.assertRaises(form.Invalid, field.deserialize, 5)
+
+ #self.assertEqual(
+ # strip(field.render(request)),
+ # '')
+