mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-07-17 18:43:30 +08:00

Possible Options - modified, mod, lastModified, lastMod, lastmodified or lastmod. When read the the note we will figure out which one is being used and accordingly write back that value. This makes it easier to use GitJournal for editing Hugo websites as they usually use the 'lastmod' field to indicate when the post was last modified.
81 lines
1.8 KiB
Dart
81 lines
1.8 KiB
Dart
import 'dart:io';
|
|
|
|
import 'package:gitjournal/core/note.dart';
|
|
import 'package:gitjournal/core/notes_folder.dart';
|
|
import 'package:path/path.dart' as p;
|
|
import 'package:test/test.dart';
|
|
|
|
void main() {
|
|
group('Note', () {
|
|
Directory tempDir;
|
|
|
|
setUpAll(() async {
|
|
tempDir = await Directory.systemTemp.createTemp('__notes_test__');
|
|
});
|
|
|
|
tearDownAll(() async {
|
|
tempDir.deleteSync(recursive: true);
|
|
});
|
|
|
|
test('Should respect modified key as modified', () async {
|
|
var content = """---
|
|
title: Foo
|
|
modified: 2017-02-15T22:41:19+01:00
|
|
---
|
|
|
|
Hello""";
|
|
|
|
var notePath = p.join(tempDir.path, "note.md");
|
|
File(notePath).writeAsString(content);
|
|
|
|
var parentFolder = NotesFolder(null, tempDir.path);
|
|
var note = Note(parentFolder, notePath);
|
|
await note.load();
|
|
|
|
note.modified = DateTime.utc(2019, 12, 02, 4, 0, 0);
|
|
|
|
await note.save();
|
|
|
|
var expectedContent = """---
|
|
title: Foo
|
|
modified: 2019-12-02T04:00:00+00:00
|
|
---
|
|
|
|
Hello""";
|
|
|
|
var actualContent = File(notePath).readAsStringSync();
|
|
expect(actualContent, equals(expectedContent));
|
|
});
|
|
|
|
test('Should respect modified key as mod', () async {
|
|
var content = """---
|
|
title: Foo
|
|
mod: 2017-02-15T22:41:19+01:00
|
|
---
|
|
|
|
Hello""";
|
|
|
|
var notePath = p.join(tempDir.path, "note.md");
|
|
File(notePath).writeAsString(content);
|
|
|
|
var parentFolder = NotesFolder(null, tempDir.path);
|
|
var note = Note(parentFolder, notePath);
|
|
await note.load();
|
|
|
|
note.modified = DateTime.utc(2019, 12, 02, 4, 0, 0);
|
|
|
|
await note.save();
|
|
|
|
var expectedContent = """---
|
|
title: Foo
|
|
mod: 2019-12-02T04:00:00+00:00
|
|
---
|
|
|
|
Hello""";
|
|
|
|
var actualContent = File(notePath).readAsStringSync();
|
|
expect(actualContent, equals(expectedContent));
|
|
});
|
|
});
|
|
}
|