Files
memo/docs/orders/01-fix-fts5.md
T

27 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Проект: /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/**), только тестовый файл.
- Не менять другие тесты, не переименовывать их.
- Не добавлять зависимости.