test(platform-epf): обработчик команды в фикстуре

Команда формы объявлена с действием, а процедуры в модуле не было —
epf-build проверяет исходники с -HandlersExistence и отменял сборку.
Обработчик вставляется в модуль формы; добавлена проверка, что он
пережил сборку и разборку.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ANXwbMUhuRFSCsq2RgmTTm
This commit is contained in:
Nick Shirokov
2026-09-24 19:10:12 +03:00
co-authored by Claude Opus 5.5
parent 647c633a9b
commit 43c8f50592
@@ -47,6 +47,15 @@ export const steps = [
args: { '-OutputPath': '{workDir}/RoundtripТест/Forms/Форма/Ext/Form.xml', '-JsonPath': '{inputFile}' },
},
// Команда объявлена с действием — обработчик должен быть в модуле: epf-build проверяет
// исходники платформой (-HandlersExistence) и без процедуры сборку отменяет.
{
name: 'editFile: обработчик команды Загрузить в модуле формы',
editFile: '{workDir}/RoundtripТест/Forms/Форма/Ext/Form/Module.bsl',
replace: '#Область ОбработчикиКомандФормы\r\n',
with: '#Область ОбработчикиКомандФормы\r\n\r\n&НаКлиенте\r\nПроцедура Загрузить(Команда)\r\n\tПутьКФайлу = "";\r\nКонецПроцедуры\r\n',
},
// ── 3. Build EPF binary ──
{
name: 'epf-build: сборка EPF',
@@ -76,4 +85,9 @@ export const steps = [
'-InfoBasePath': '{workDir}/tmpdb',
},
},
{
name: 'assert: обработчик команды пережил сборку и разборку',
assertContains: '{workDir}/roundtrip-dump/RoundtripТест/Forms/Форма/Ext/Form/Module.bsl',
expect: 'Процедура Загрузить(Команда)',
},
];