mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-09-18 17:33:03 +08:00

This completely breaks the app, as it is part of a large refactor to make Note loading asyncrhnous and not block. Additionally this removed JSON serialization for Notes as that isn't something we care about any more.
69 lines
1.5 KiB
Dart
69 lines
1.5 KiB
Dart
import 'package:journal/storage/serializers.dart';
|
|
import 'package:journal/datetime_utils.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 created = toIso8601WithTimezone(nowWithoutMicro());
|
|
var note = NoteData("This is the body", {"created": created});
|
|
|
|
test('Markdown Serializer', () {
|
|
var serializer = MarkdownYAMLSerializer();
|
|
var str = serializer.encode(note);
|
|
var note2 = serializer.decode(str);
|
|
|
|
expect(note2, note);
|
|
});
|
|
|
|
test('Markdown Serializer with invalid YAML', () {
|
|
var inputNoteStr = """---
|
|
type
|
|
---
|
|
|
|
Alright.""";
|
|
|
|
var serializer = MarkdownYAMLSerializer();
|
|
var note = serializer.decode(inputNoteStr);
|
|
var actualStr = "Alright.";
|
|
|
|
expect(actualStr, note.body);
|
|
});
|
|
|
|
test('Markdown Serializer with empty YAML', () {
|
|
var inputNoteStr = """---
|
|
---
|
|
|
|
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);
|
|
});
|
|
*/
|
|
});
|
|
}
|