Files
cc-1c-skills/tests/skills/cases/cfe-patch-method/resync-conflict.json
T
Nick ShirokovandClaude Opus 5 303db4e9f9 test(cfe-patch-method): починена фикстура region-reuse, объявлен пропуск для resync-conflict
Оба кейса не проходили проверку эталонов платформой, и по разным причинам.

region-reuse клал в расширение декоративный перехватчик &Перед("МетодА"),
чтобы навыку было куда встроиться, но МетодА в конфигурации не было — только
МетодБ. Раннер этого не видел: он сверяет выход навыка, а навык отрабатывал
верно. Платформа же расширение не принимала: «Не найден метод "МетодА",
указанный в аннотации». Метод добавлен в модуль конфигурации; выход навыка не
изменился, сдвинулся только эталон исходного модуля.

resync-conflict моделирует неразрешённый конфликт: навык намеренно паркует
блок под меткой // [РЕСИНК-КОНФЛИКТ] и оставляет его человеку, так что текст
метода заведомо расходится с оригиналом и расширение неприменимо by design.
Это штатный случай для skipPlatformVerify — объявлен с причиной.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-19 18:49:20 +03:00

39 lines
2.2 KiB
JSON

{
"name": "Ресинк ИзменениеИКонтроль: окружающий блок исчез (настоящий конфликт)",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": { "type": "CommonModule", "name": "РесинкКонфл", "properties": { "Server": true } },
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
},
{
"writeFile": {
"path": "CommonModules/РесинкКонфл/Ext/Module.bsl",
"content": "#Область ПрограммныйИнтерфейс\n\nФункция Расчёт(А, Б) Экспорт\n\tВозврат 0;\nКонецФункции\n\n#КонецОбласти\n"
}
},
{
"script": "cfe-init/scripts/cfe-init",
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/cfe", "-ConfigPath": "{workDir}" }
},
{
"script": "cfe-borrow/scripts/cfe-borrow",
"args": { "-ExtensionPath": "{workDir}/cfe", "-ConfigPath": "{workDir}", "-Object": "CommonModule.РесинкКонфл" }
},
{
"writeFile": {
"path": "cfe/CommonModules/РесинкКонфл/Ext/Module.bsl",
"content": "#Область ПрограммныйИнтерфейс\n&ИзменениеИКонтроль(\"Расчёт\")\nФункция Тест_Расчёт(А, Б)\n\tИтог = 0;\n\tДля Сч = 1 По А Цикл\n#Вставка\n\t\tИтог = Итог + Б;\n#КонецВставки\n\t\tИтог = Итог + 1;\n\tКонецЦикла;\n\tВозврат Итог;\nКонецФункции\n#КонецОбласти\n"
}
}
],
"params": {
"extensionPath": "cfe",
"modulePath": "CommonModule.РесинкКонфл",
"methodName": "Расчёт",
"interceptorType": "ModificationAndControl"
},
"expect": { "stdoutContains": "[АКТУАЛИЗИРОВАН-ЧАСТИЧНО]" },
"skipPlatformVerify": "конфликт ресинка by design оставляет блок припаркованным под меткой // [РЕСИНК-КОНФЛИКТ] — до ручного разбора текст метода заведомо не совпадает с оригиналом, и платформа расширение не применит"
}