From 684bbb50363ac334243625111564e9eccfb41827 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Mon, 22 Jun 2026 18:53:37 +0300 Subject: [PATCH] =?UTF-8?q?test(skills):=20platform-epf=20=E2=80=94=20?= =?UTF-8?q?=D0=BA=D0=B0=D0=BD=D0=BE=D0=BD=D0=B8=D1=87=D0=B5=D1=81=D0=BA?= =?UTF-8?q?=D0=B8=D0=B9=20DSL=20form-compile=20(=D1=87=D0=B8=D0=BD=D0=B8?= =?UTF-8?q?=D1=82=20PY-=D0=BF=D1=80=D0=BE=D0=B3=D0=BE=D0=BD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Шаг form-compile в platform-epf был написан в «вольном» диалекте: атрибуты и команды с ключом `id` вместо `name`, кнопка как `{id,type:'button',action}`. PS-порт это молча глотал (пустые имена / skip с warning), PY-порт падал (`KeyError: 'name'`). Переписано канонически (как cases/form-compile/commands.json и build-epf): `name` у атрибутов/команд, кнопка `{button, command}` внутри cmdBar. Зелено на обоих рантаймах и движках (PY-матрица platform/* → 7/7). Это была опечатка теста, не баг навыка. Робастность form-compile на некорректном входе (чистая ошибка вместо raw-traceback в PY / тихого пустого имени в PS) — отдельная необязательная тема. Co-Authored-By: Claude Opus 4.8 (1M context) --- tests/skills/integration/platform-epf.test.mjs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/skills/integration/platform-epf.test.mjs b/tests/skills/integration/platform-epf.test.mjs index c2ffc4b9..5623326a 100644 --- a/tests/skills/integration/platform-epf.test.mjs +++ b/tests/skills/integration/platform-epf.test.mjs @@ -32,14 +32,16 @@ export const steps = [ script: 'form-compile/scripts/form-compile', input: { elements: [ - { id: 'ПутьКФайлу', type: 'input', path: 'ПутьКФайлу', title: 'Путь к файлу' }, - { id: 'Загрузить', type: 'button', title: 'Загрузить', action: 'Загрузить' }, + { input: 'ПутьКФайлу', path: 'ПутьКФайлу', title: 'Путь к файлу' }, + { cmdBar: 'КоманднаяПанель', children: [ + { button: 'Загрузить', command: 'Загрузить' }, + ]}, ], attributes: [ - { id: 'ПутьКФайлу', type: 'String' }, + { name: 'ПутьКФайлу', type: 'String' }, ], commands: [ - { id: 'Загрузить', title: 'Загрузить' }, + { name: 'Загрузить', action: 'Загрузить' }, ], }, args: { '-OutputPath': '{workDir}/RoundtripТест/Forms/Форма/Ext/Form.xml', '-JsonPath': '{inputFile}' },