feat: complete academic symbol lexicon heal, 2-column Cooper extraction, and updated assets
This commit is contained in:
@@ -121,5 +121,63 @@ void main() {
|
||||
await repo.clearHistory();
|
||||
expect(repo.sessions.isEmpty, isTrue);
|
||||
});
|
||||
|
||||
test('Custom edits: save, export, import, reset, and clear', () async {
|
||||
expect(repo.customEditsCount, equals(0));
|
||||
|
||||
final testWord = repo.getWordBySessionNumber(100)!.word;
|
||||
final originalWord = repo.getWordByName(testWord)!;
|
||||
expect(originalWord.isUserEdited, isFalse);
|
||||
|
||||
// Save custom edit
|
||||
await repo.saveCustomEdit(
|
||||
testWord,
|
||||
core: 'Тестовое ядро от пользователя',
|
||||
oracle: 'Тестовое толкование от пользователя',
|
||||
shadow: 'Тестовая тень',
|
||||
asks: 'Тестовый вопрос',
|
||||
step: 'Тестовый жест',
|
||||
);
|
||||
|
||||
expect(repo.customEditsCount, equals(1));
|
||||
final edited = repo.getWordByName(testWord)!;
|
||||
expect(edited.isUserEdited, isTrue);
|
||||
expect(edited.core, equals('Тестовое ядро от пользователя'));
|
||||
expect(edited.oracle, equals('Тестовое толкование от пользователя'));
|
||||
expect(edited.shadow, equals('Тестовая тень'));
|
||||
expect(edited.asks, equals('Тестовый вопрос'));
|
||||
expect(edited.step, equals('Тестовый жест'));
|
||||
|
||||
// Export json
|
||||
final exportedJson = repo.exportCustomEditsJson();
|
||||
expect(exportedJson.contains(testWord), isTrue);
|
||||
expect(exportedJson.contains('Тестовое ядро от пользователя'), isTrue);
|
||||
|
||||
// Reset
|
||||
await repo.resetCustomEdit(testWord);
|
||||
expect(repo.customEditsCount, equals(0));
|
||||
final resetWord = repo.getWordByName(testWord)!;
|
||||
expect(resetWord.isUserEdited, isFalse);
|
||||
expect(resetWord.core, isNot(equals('Тестовое ядро от пользователя')));
|
||||
|
||||
// Import back
|
||||
final importedCount = await repo.importCustomEditsJson(exportedJson);
|
||||
expect(importedCount, equals(1));
|
||||
expect(repo.customEditsCount, equals(1));
|
||||
final reimported = repo.getWordByName(testWord)!;
|
||||
expect(reimported.isUserEdited, isTrue);
|
||||
expect(reimported.core, equals('Тестовое ядро от пользователя'));
|
||||
|
||||
// Clear all
|
||||
await repo.clearAllCustomEdits();
|
||||
expect(repo.customEditsCount, equals(0));
|
||||
expect(repo.getWordByName(testWord)!.isUserEdited, isFalse);
|
||||
});
|
||||
|
||||
test('Word #581 вызывать has appropriate summoning / challenge emojis instead of wood/climbing', () async {
|
||||
final word = repo.getWordByName('вызывать');
|
||||
expect(word, isNotNull);
|
||||
expect(word!.emoji, equals('📯 ⚡'));
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user