mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-07-15 07:56:11 +08:00

Jumping around between the widgets / screens and outside is bit confusing. Also this way, I can add the stories right here.
86 lines
2.3 KiB
Dart
86 lines
2.3 KiB
Dart
import 'package:test/test.dart';
|
|
|
|
import 'package:gitjournal/core/note.dart';
|
|
import 'package:gitjournal/core/notes_folder_fs.dart';
|
|
import 'package:gitjournal/core/sorting_mode.dart';
|
|
import 'package:gitjournal/settings/settings.dart';
|
|
|
|
void main() {
|
|
group('Sorting Mode', () {
|
|
test('Created', () async {
|
|
var folder = NotesFolderFS(null, '/tmp/', Settings(''));
|
|
var n1 = Note(folder, '/tmp/1.md');
|
|
n1.created = DateTime(2020, 10, 01);
|
|
|
|
var n2 = Note(folder, '/tmp/2.md');
|
|
n2.created = DateTime(2020, 10, 02);
|
|
|
|
var n3 = Note(folder, '/tmp/3.md');
|
|
n3.created = null;
|
|
|
|
var n4 = Note(folder, '/tmp/4.md');
|
|
n4.created = null;
|
|
|
|
var notes = [n1, n2, n3, n4];
|
|
var sortFn = SortingMode(SortingField.Created, SortingOrder.Descending)
|
|
.sortingFunction();
|
|
|
|
notes.sort(sortFn);
|
|
expect(notes[0], n2);
|
|
expect(notes[1], n1);
|
|
expect(notes[2], n3);
|
|
expect(notes[3], n4);
|
|
});
|
|
|
|
test('Modified', () async {
|
|
var folder = NotesFolderFS(null, '/tmp/', Settings(''));
|
|
var n1 = Note(folder, '/tmp/1.md');
|
|
n1.modified = DateTime(2020, 10, 01);
|
|
|
|
var n2 = Note(folder, '/tmp/2.md');
|
|
n2.modified = DateTime(2020, 10, 02);
|
|
|
|
var n3 = Note(folder, '/tmp/3.md');
|
|
n3.modified = null;
|
|
|
|
var n4 = Note(folder, '/tmp/4.md');
|
|
n4.modified = null;
|
|
|
|
var notes = [n1, n2, n3, n4];
|
|
var sortFn = SortingMode(SortingField.Modified, SortingOrder.Descending)
|
|
.sortingFunction();
|
|
|
|
notes.sort(sortFn);
|
|
expect(notes[0], n2);
|
|
expect(notes[1], n1);
|
|
expect(notes[2], n3);
|
|
expect(notes[3], n4);
|
|
});
|
|
|
|
test('Title', () async {
|
|
var folder = NotesFolderFS(null, '/tmp/', Settings(''));
|
|
var n1 = Note(folder, '/tmp/1.md');
|
|
n1.title = "alpha";
|
|
|
|
var n2 = Note(folder, '/tmp/2.md');
|
|
n2.title = "beta";
|
|
|
|
var n3 = Note(folder, '/tmp/3.md');
|
|
n3.title = "Axios";
|
|
|
|
var n4 = Note(folder, '/tmp/4.md');
|
|
n4.title = "";
|
|
|
|
var notes = [n1, n2, n3, n4];
|
|
var sortFn = SortingMode(SortingField.Title, SortingOrder.Ascending)
|
|
.sortingFunction();
|
|
|
|
notes.sort(sortFn);
|
|
expect(notes[0], n1);
|
|
expect(notes[1], n3);
|
|
expect(notes[2], n2);
|
|
expect(notes[3], n4);
|
|
});
|
|
});
|
|
}
|