mirror of
https://github.com/Ku6epXBOCTuK/easy-png-tools.git
synced 2026-11-13 17:08:20 +00:00
test: for plugin and lint
This commit is contained in:
@@ -406,14 +406,39 @@ file-result-инструментам.
|
||||
- Второй пункт («после очистки решить, должен ли unused audit быть
|
||||
fail-режимом») остаётся открытым: сам audit пока только сообщает.
|
||||
|
||||
#### Q7b–Q7d. Оставшиеся направления
|
||||
#### Q7b. Тесты token audit и PostCSS HCT-плагина
|
||||
|
||||
**Статус:** выполнен. У обоих не было ни одного теста, хотя HCT-плагин
|
||||
(`web/scripts/postcss-hct.mjs`, 430 строк) пересчитывает всю палитру.
|
||||
|
||||
- `web/scripts/__tests__/postcss-hct.test.mjs` — 17 тестов: literal и
|
||||
производный `hct()`, seed из `:root` и из hex, цепочка hct-токенов, refs
|
||||
`h/c/t`, `calc/min/max/clamp`, обёртка hue, клампы tone/chroma, несколько
|
||||
вызовов в одном объявлении, а также warn-and-keep для неизвестного seed,
|
||||
циклической ссылки и битого тела `hct()`.
|
||||
- `web/scripts/__tests__/token-audit.test.mjs` — 15 тестов на parity
|
||||
(light-only, dark-only, derived, не-цвет), authorship (hct, color-mix,
|
||||
seed-токены, хардкод с локацией, игнор не-цветов и обычных свойств), unused и
|
||||
предикаты `isColorValue`/`isDerived`.
|
||||
- Ожидания не зашивают вывод плагина, а сравнивают его с эквивалентной
|
||||
литеральной записью: `hct(from var(--seed) h c calc(t + 10))` должен совпасть
|
||||
с `hct(120 40 60)`, если seed — `hct(120 40 50)`. Иначе тест просто
|
||||
зафиксировал бы текущее поведение.
|
||||
- Единственный seam: `checkUnused(root, used = collectUsedTokens())` —
|
||||
зависимость от чтения `src` стала инъецируемой, production-вызов не изменился.
|
||||
- `vitest.config.ts` подхватывает `scripts/**/*.test.mjs`, поэтому скрипты
|
||||
покрываются обычным прогоном и `verify`; `test:rules` не трогали.
|
||||
- Проверка мутацией выявила дыру: первая версия тестов не ловила кламп tone в
|
||||
ветке `from` (смена `clamp(t, 0, 100)` на `0, 90` проходила зелёной). Добавлен
|
||||
отдельный тест на производный кламп; после этого мутация падает.
|
||||
|
||||
#### Q7c–Q7d. Оставшиеся направления
|
||||
|
||||
- Добавить тесты для token audit и PostCSS HCT-плагина: у них сейчас нет
|
||||
покрытия, `test:rules` их не видит.
|
||||
- Покрыть базовым JS recommended сам код ESLint-плагинов и lint-скриптов.
|
||||
- Отдельно решить, должен ли обычный CSS проходить проверку undefined tokens и
|
||||
hardcoded colors наравне со Svelte styles.
|
||||
- Новые правила подключать только после fixtures, `test:rules` и baseline.
|
||||
- Решить, должен ли unused audit стать fail-режимом (см. Q7a).
|
||||
|
||||
### Q8. Новые автоматические правила
|
||||
|
||||
|
||||
Reference in New Issue
Block a user