2.5 KiB
2.5 KiB
Проект: /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:
- В тесте
fts5FindsCyrillic(тело метода, сигнатуру и имя не менять):- таблица создаётся с
tokenize='unicode61'(оставить как есть); - ВСТАВЛЯЕМОЕ значение сделать с заглавной буквой:
"Траефик внутри"вместо"внутренний домен траефик"; - после существующей проверки добавить ещё две проверки в том же тесте:
а) запрос СТРОЧНЫМИ
"траефик"находит ровно 1 строку и её rowid == 1; б) запрос ЗАГЛАВНЫМИ"Траефик"тоже находит ровно 1 строку и её rowid == 1. - Проверки делать отдельным запросом каждым, не одним.
- таблица создаётся с
- Ничего больше в файле не менять. Формулировки ассертов писать по-русски, как в файле.
- Прогнать
./gradlew :memo-core:test --rerun-tasksи добиться зелёного результата. - Закоммитить:
git add -A && git commit -m "core: fts5-тест проверяет регистронезависимость кириллицы".
СТРОГИЕ ЗАПРЕТЫ:
- Не выводить план текстом; сразу правь файл.
- Не трогать боевой код (memo-core/src/main/**), только тестовый файл.
- Не менять другие тесты, не переименовывать их.
- Не добавлять зависимости.