core: fts5-тест проверяет регистронезависимость кириллицы

This commit is contained in:
2026-10-02 01:09:40 +03:00
parent 700508dc8e
commit d62a26f5b1
5 changed files with 201 additions and 1 deletions
+26
View File
@@ -0,0 +1,26 @@
Проект: /root/WORK/memo (Kotlin/JVM). Заказ крошечный: усилить ОДИН тест.
Проблема (доказана мутационной проверкой): тест `fts5FindsCyrillic` в
memo-core/src/test/kotlin/memo/core/CoreSmokeTest.kt ПРОХОДИТ даже если токенизатор в тесте
заменить с `unicode61` на `ascii` — то есть тест не проверяет то, ради чего он написан
(регистронезависимый поиск по кириллице). Проверено на живом SQLite: с `ascii` строчный запрос
«траефик» НЕ находит строку «Траефик» (0 совпадений), с `unicode61` — находит.
Что сделать — ровно это, в файле memo-core/src/test/kotlin/memo/core/CoreSmokeTest.kt:
1. В тесте `fts5FindsCyrillic` (тело метода, сигнатуру и имя не менять):
- таблица создаётся с `tokenize='unicode61'` (оставить как есть);
- ВСТАВЛЯЕМОЕ значение сделать с заглавной буквой: `"Траефик внутри"` вместо `"внутренний домен траефик"`;
- после существующей проверки добавить ещё две проверки в том же тесте:
а) запрос СТРОЧНЫМИ `"траефик"` находит ровно 1 строку и её rowid == 1;
б) запрос ЗАГЛАВНЫМИ `"Траефик"` тоже находит ровно 1 строку и её rowid == 1.
- Проверки делать отдельным запросом каждым, не одним.
2. Ничего больше в файле не менять. Формулировки ассертов писать по-русски, как в файле.
3. Прогнать `./gradlew :memo-core:test --rerun-tasks` и добиться зелёного результата.
4. Закоммитить: `git add -A && git commit -m "core: fts5-тест проверяет регистронезависимость кириллицы"`.
СТРОГИЕ ЗАПРЕТЫ:
- Не выводить план текстом; сразу правь файл.
- Не трогать боевой код (memo-core/src/main/**), только тестовый файл.
- Не менять другие тесты, не переименовывать их.
- Не добавлять зависимости.