27 lines
2.5 KiB
Markdown
27 lines
2.5 KiB
Markdown
Проект: /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/**), только тестовый файл.
|
||
- Не менять другие тесты, не переименовывать их.
|
||
- Не добавлять зависимости.
|