From 6598af51d9025ce796c2e76b65d608cb35914eb2 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 20 Sep 2026 12:27:36 +0300 Subject: [PATCH] =?UTF-8?q?test(form-kit):=20=D1=81=D1=80=D0=B5=D0=B7=20?= =?UTF-8?q?=D1=81=D0=B5=D0=B3=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=20=D0=B4=D0=BE?= =?UTF-8?q?=20=D1=81=D0=BB=D0=B5=D0=B4=D1=83=D1=8E=D1=89=D0=B5=D0=B3=D0=BE?= =?UTF-8?q?=20=D1=8D=D0=BA=D1=81=D0=BF=D0=BE=D1=80=D1=82=D0=B0=20=E2=80=94?= =?UTF-8?q?=20=D0=BC=D1=83=D1=82=D0=B0=D0=BD=D1=82=20drops-radio-semantics?= =?UTF-8?q?=20=D0=BB=D0=BE=D0=B2=D0=B8=D1=82=D1=81=D1=8F=20(#600)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Срез «от export function segmented до конца файла» находил type="radio" у radioRow и choiceCards ниже, и подмена радио на чекбокс внутри самого сегмента проходила зелёной. Срез ограничен телом функции; мутант form-kit-segment-drops-radio-semantics снова красит тест. Issue: #600 User-Visible: no --- test/form-kit.test.mjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/form-kit.test.mjs b/test/form-kit.test.mjs index 04323996..2c9b7eb3 100644 --- a/test/form-kit.test.mjs +++ b/test/form-kit.test.mjs @@ -141,7 +141,13 @@ test('#594 имена параметризованы, а не зашиты', () test('#594 сегментированный переключатель остаётся радиогруппой', () => { const kit = readFileSync(new URL('../src/editors/form-kit.ts', import.meta.url), 'utf8'); - const segment = kit.slice(kit.indexOf('export function segmented')); + // Только тело `segmented`: дальше в файле есть другие радиогруппы (radioRow, + // choiceCards), и срез «до конца файла» находил бы `type="radio"` у них, + // пропуская подмену внутри самого сегмента (мутант + // form-kit-segment-drops-radio-semantics выживал именно так). + const from = kit.indexOf('export function segmented'); + const to = kit.indexOf('\nexport ', from + 1); + const segment = kit.slice(from, to > from ? to : undefined); // Доступность здесь не украшение: сегмент заменил радиосписок, и стрелки со // скринридером обязаны работать как раньше. Радиокнопка под капотом — это и // есть механизм, а не пожелание.