Fix deserialization of null datetime values

This commit is contained in:
Simon Binder 2019-06-27 09:37:51 +02:00
parent 2e06ab763a
commit a6505d691b
No known key found for this signature in database
GPG Key ID: 7891917E4147B8C0
2 changed files with 11 additions and 1 deletions

View File

@ -50,7 +50,11 @@ class _DefaultValueSerializer extends ValueSerializer {
@override
T fromJson<T>(json) {
if (T == DateTime) {
return DateTime.fromMillisecondsSinceEpoch(json as int) as T;
if (json == null) {
return null;
} else {
return DateTime.fromMillisecondsSinceEpoch(json as int) as T;
}
}
return json as T;

View File

@ -54,6 +54,12 @@ class CustomSerializer extends ValueSerializer {
}
void main() {
test('default serializer', () {
final serializer = const ValueSerializer.defaults();
expect(serializer.toJson<DateTime>(null), null);
expect(serializer.fromJson<DateTime>(null), null);
});
group('serialization', () {
test('with defaults', () {
expect(someTodoEntry.toJson(), equals(regularSerialized));