Skip to content

Commit

Permalink
Fix _serialize() of Time field
Browse files Browse the repository at this point in the history
When a Time object has microsecond value, the _serialize() method
returns the following string format: 'HH:mm:ss.SSSSSS'
    #464
  • Loading branch information
vuonghv authored and sloria committed Jul 22, 2016
1 parent 7ed19ed commit dbfaba2
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion marshmallow/fields.py
Expand Up @@ -918,7 +918,7 @@ def _serialize(self, value, attr, obj):
except AttributeError:
self.fail('format', input=value)
if value.microsecond:
return ret[:12]
return ret[:15]
return ret

def _deserialize(self, value, attr, data):
Expand Down
2 changes: 1 addition & 1 deletion tests/test_schema.py
Expand Up @@ -579,7 +579,7 @@ def test_can_serialize_uuid(serialized_user, user):
assert serialized_user.data['uid'] == str(user.uid)

def test_can_serialize_time(user, serialized_user):
expected = user.time_registered.isoformat()[:12]
expected = user.time_registered.isoformat()[:15]
assert serialized_user.data['time_registered'] == expected

def test_invalid_time():
Expand Down
2 changes: 1 addition & 1 deletion tests/test_serialization.py
Expand Up @@ -454,7 +454,7 @@ def test_string_field_default_to_empty_string(self, user):

def test_time_field(self, user):
field = fields.Time()
expected = user.time_registered.isoformat()[:12]
expected = user.time_registered.isoformat()[:15]
assert field.serialize('time_registered', user) == expected

user.time_registered = None
Expand Down

0 comments on commit dbfaba2

Please sign in to comment.