Files

2.5 KiB
Raw Permalink Blame History

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