mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-16 08:19:01 +03:00
test(mxl): побайтовый раундтрип макетов, произведённых платформой
До сих пор строгая дорожка кампании жила только в отладочных прогонах, и её некому было защищать: снэпшот сравнивает наш вывод с нашим же прежним выводом, поэтому дрейф от платформы он не ловит. Семь макетов, собранных вручную в Конфигураторе, положены в фикстуры. Кейс декомпилирует такой макет и компилирует обратно, а результат сверяется с исходником побайтово. Проверено, что сеть кусается: подмена одного тега в фикстуре роняет кейс. Раннеру добавлены две ручки: - expect.filesEqual — сравнение двух файлов побайтово. Снэпшот его не заменяет: --update-snapshots молча принял бы расхождение с платформой; - inputFrom — брать вход из файла в рабочем каталоге, а не из case.input. Нужно, когда вход производит preRun: case.input пишется ПОСЛЕ preRun и затёр бы его. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
fc792bfee6
commit
96e8616bb4
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"name": "Раундтрип макета ПЛАТФОРМЫ байт в байт: Простой2КолонкиШиринаПоУмолчанию",
|
||||
"setup": "fixture:platform-roundtrip",
|
||||
"preRun": [
|
||||
{
|
||||
"script": "mxl-decompile/scripts/mxl-decompile",
|
||||
"args": {
|
||||
"-TemplatePath": "Простой2КолонкиШиринаПоУмолчанию.xml",
|
||||
"-OutputPath": "back.json"
|
||||
},
|
||||
"cwd": "{workDir}"
|
||||
}
|
||||
],
|
||||
"params": {
|
||||
"outputPath": "out.xml"
|
||||
},
|
||||
"noSnapshot": "эталон — файл платформы, сверяется expect.filesEqual",
|
||||
"expect": {
|
||||
"filesEqual": {
|
||||
"actual": "out.xml",
|
||||
"expected": "Простой2КолонкиШиринаПоУмолчанию.xml"
|
||||
}
|
||||
},
|
||||
"inputFrom": "back.json"
|
||||
}
|
||||
Reference in New Issue
Block a user