Files
GitJournal/test/serializers_test.dart
Vishesh Handa f7aeb3527d Handle invalid markdown
In these cases we just try to fetch the body the best we can and ignore
all the keys.

This should give us more info about #4
2019-05-27 10:10:17 +02:00

67 lines
1.5 KiB
Dart

import 'package:journal/note.dart';
import 'package:journal/storage/serializers.dart';
import 'package:test/test.dart';
DateTime nowWithoutMicro() {
var dt = DateTime.now();
return DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second);
}
void main() {
group('Serializers', () {
var note = Note(
filePath: "2", body: "This is the body", created: nowWithoutMicro());
test('JSON Serializer', () {
var serializer = JsonNoteSerializer();
var str = serializer.encode(note);
var note2 = serializer.decode(str);
expect(note2, note);
});
test('Markdown Serializer', () {
var serializer = MarkdownYAMLSerializer();
var str = serializer.encode(note);
var note2 = serializer.decode(str);
// The YAML seriazlier loses the fileName by design
note2.filePath = note.filePath;
expect(note2, note);
});
test('Markdown Serializer with invalid Markdown', () {
var inputNoteStr = """---
type
---
Alright.""";
var serializer = MarkdownYAMLSerializer();
var note = serializer.decode(inputNoteStr);
var actualStr = "Alright.";
expect(actualStr, note.body);
});
/*
test('Markdown Serializer YAML Order', () {
var str = """---
type: Journal
created: 2017-02-15T22:41:19+01:00
foo: bar
---
Alright.""";
var serializer = MarkdownYAMLSerializer();
var note = serializer.decode(str);
var actualStr = serializer.encode(note);
expect(actualStr, str);
});
*/
});
}