Files
cc-1c-skills/tests/skills/cases/xdto-edit/set-namespace.json
T
Nick ShirokovandClaude Opus 5 5d5a1bc36a fix(xdto): три дефекта, найденных платформенной верификацией снэпшотов
verify-snapshots загружает результат каждого кейса в 1С. Раньше навыки xdto
через него не проходили вовсе; первый прогон дал 5 из 9. Ни корпусная сверка,
ни валидатор такого не ловили: корпус состоит из заведомо валидных пакетов,
а синтетические кейсы до сих пор в базу не грузились.

1. fixed. В модели XDTO это булев флаг, значение лежит в default; в XSD наоборот —
   fixed="V" несёт значение. Компилятор писал значение прямо в fixed, и платформа
   отвергала пакет («Отсутствует фиксированное значение свойства»). Перевод сделан
   в обе стороны; по принципу прощающего ввода принимается и модельная форма через
   зеркало xdto:fixed. Отображение выведено по корпусу: fixed встречается только
   вместе с default, значений всего два.

2. Импорт на несуществующий пакет платформа отвергает («xdto-package-3.3 …
   не определен»), а у нас проверки не было. Добавлена ошибка валидатора и,
   что важнее, предупреждение прямо на сборке — отказ при db-update дешевле
   поймать на шаг раньше. Правило пришлось калибровать корпусом: сначала оно
   дало 67 ложных срабатываний на платформенных пространствах имён, их список
   выведен и исключён.

3. localName проверяется как NCName — фикстура с пробелом в имени была негодной,
   заменена на реалистичный дефис (name="alpha_3" localName="alpha-3").

Харнесс получил skipPlatformVerify с обязательной причиной: результат
set-namespace невалиден by design, операция намеренно оставляет висящий импорт
у зависящего пакета.

Итог: 9/9 компилятора, 9/10 + 1 осознанный пропуск у edit, round-trip 760/760,
валидатор 0 ложных, 40 тестов на обоих рантаймах.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-26 14:51:08 +03:00

41 lines
1.0 KiB
JSON

{
"name": "смена namespace: ссылки внутри пакета и объект метаданных",
"caseFiles": [
"common.xsd",
"uses-common.xsd"
],
"preRun": [
{
"script": "xdto-compile/scripts/xdto-compile",
"args": {
"-XsdPath": "{workDir}/common.xsd",
"-OutputDir": "{workDir}"
}
},
{
"script": "xdto-compile/scripts/xdto-compile",
"args": {
"-XsdPath": "{workDir}/uses-common.xsd",
"-OutputDir": "{workDir}"
}
}
],
"params": {
"packagePath": "XDTOPackages/common"
},
"args_extra": [
"-Operation",
"set-namespace",
"-Value",
"urn:test:common:v2",
"-NoValidate"
],
"expect": {
"files": [
"XDTOPackages/common/Ext/Package.bin",
"XDTOPackages/common.xml"
]
},
"skipPlatformVerify": "смена namespace намеренно оставляет импорт зависящего пакета висящим — это документированное поведение операции"
}