mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-21 10:39:42 +03:00
Configuration.xml без <ChildObjects> и с самозакрытым <ChildObjects/> — в обеих формах py печатал «<Role>X</Role> added to ChildObjects», а файл оставался байт-в-байт прежним. Модель считала роль включённой в состав конфигурации, хотя её там не было. PS-порт обе формы обрабатывал верно: самозакрытый тег раскрывал, при отсутствующем честно предупреждал. Ветвление перенесено из meta-compile.py, где та же задача давно решена: есть блок ChildObjects — вставляем внутрь; есть самозакрытый тег — раскрываем первой записью; нет ни того ни другого — исход no-childobj и файл не трогаем. Ветка вывода no-childobj в py уже была и до сих пор оставалась недостижимой. Порядок вставки и способ правки файла не менялись: проверка на боевых выгрузках (acc/erp, CRLF и LF) показала, что действующая реализация даёт дельту ровно в одну вставленную строку, а платформа порядок ChildObjects не нормализует. Кейсы на обе формы. На неисправленном коде оба падают на python и проходят на powershell. Проверка «успех не объявлен» опирается на stdoutNotContains и снапшот: Write-Warning в PS 5.1 идёт в stdout с локализованным префиксом, а py пишет в stderr, поэтому портируемого stderrContains тут быть не может. Co-Authored-By: Sergei Pleshanov <2357qwr@gmail.com> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
22 lines
619 B
JSON
22 lines
619 B
JSON
{
|
|
"name": "Самозакрытый <ChildObjects/>: тег раскрывается, роль регистрируется",
|
|
"setup": "fixture:childobjects-selfclosed",
|
|
"input": { "name": "Пустая" },
|
|
"validatePath": "Roles/Пустая",
|
|
"expect": {
|
|
"files": [
|
|
"Roles/Пустая.xml",
|
|
"Roles/Пустая/Ext/Rights.xml"
|
|
],
|
|
"stdoutContains": "<Role>Пустая</Role> added to ChildObjects",
|
|
"preserves": {
|
|
"file": "Configuration.xml",
|
|
"bom": true,
|
|
"eol": "crlf",
|
|
"encoding": "UTF-8",
|
|
"finalNewline": false,
|
|
"noCR13": true
|
|
}
|
|
}
|
|
}
|