mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-31 15:30:51 +03:00
fix(role-compile): py-порт рапортовал об успешной регистрации, не тронув Configuration.xml
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>
This commit is contained in:
co-authored by
Sergei Pleshanov
Claude Opus 5
parent
1cfc76da2e
commit
2b0ac3ea75
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user