Files
GitJournal/test/note_test.dart
Vishesh Handa 442d9d2b4e Allows Notes to have a different modified yaml key
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.
2020-01-05 18:12:35 +01:00

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));
});
});
}