Merge branch 'false_means_null' of https://github.com/chrneumann/colander

This commit is contained in:
Daniel Nouri
2012-03-28 12:09:11 +02:00
2 changed files with 36 additions and 4 deletions

View File

@@ -901,7 +901,7 @@ class String(SchemaType):
self.encoding = encoding
def serialize(self, node, appstruct):
if appstruct is null:
if not appstruct:
return null
try:
@@ -1231,7 +1231,7 @@ class DateTime(SchemaType):
self.default_tzinfo = default_tzinfo
def serialize(self, node, appstruct):
if appstruct is null:
if not appstruct:
return null
if type(appstruct) is datetime.date: # cant use isinstance; dt subs date
@@ -1307,7 +1307,7 @@ class Date(SchemaType):
err_template = _('Invalid date')
def serialize(self, node, appstruct):
if appstruct is null:
if not appstruct:
return null
if isinstance(appstruct, datetime.datetime):
@@ -1383,7 +1383,7 @@ class Time(SchemaType):
err_template = _('Invalid time')
def serialize(self, node, appstruct):
if appstruct is null:
if not appstruct:
return null
if isinstance(appstruct, datetime.datetime):

View File

@@ -1078,6 +1078,14 @@ class TestString(unittest.TestCase):
result = typ.serialize(node, null)
self.assertEqual(result, null)
def test_serialize_none(self):
import colander
val = None
node = DummySchemaNode(None)
typ = self._makeOne()
result = typ.serialize(node, val)
self.assertEqual(result, colander.null)
def test_serialize_uncooperative(self):
val = Uncooperative()
node = DummySchemaNode(None)
@@ -1542,6 +1550,14 @@ class TestDateTime(unittest.TestCase):
result = typ.serialize(node, val)
self.assertEqual(result, colander.null)
def test_serialize_none(self):
import colander
val = None
node = DummySchemaNode(None)
typ = self._makeOne()
result = typ.serialize(node, val)
self.assertEqual(result, colander.null)
def test_serialize_with_garbage(self):
typ = self._makeOne()
node = DummySchemaNode(None)
@@ -1669,6 +1685,14 @@ class TestDate(unittest.TestCase):
result = typ.serialize(node, val)
self.assertEqual(result, colander.null)
def test_serialize_none(self):
import colander
val = None
node = DummySchemaNode(None)
typ = self._makeOne()
result = typ.serialize(node, val)
self.assertEqual(result, colander.null)
def test_serialize_with_garbage(self):
typ = self._makeOne()
node = DummySchemaNode(None)
@@ -1754,6 +1778,14 @@ class TestTime(unittest.TestCase):
result = typ.serialize(node, val)
self.assertEqual(result, colander.null)
def test_serialize_none(self):
import colander
val = None
node = DummySchemaNode(None)
typ = self._makeOne()
result = typ.serialize(node, val)
self.assertEqual(result, colander.null)
def test_serialize_with_garbage(self):
typ = self._makeOne()
node = DummySchemaNode(None)