Merge branch 'false_means_null' of https://github.com/chrneumann/colander
This commit is contained in:
@@ -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):
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user