mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-21 02:29:42 +03:00
test(runner): байтовые проверки канона вместо масок (#57)
Раннер сам прятал дефекты, которые чинит #57. normalizeXmlContent при runtime=python снимал ровно четыре измерения: пробел перед `/>`, whitespace между тегами, пустую пару <Tag></Tag> и хвостовой пробельный мусор. Паритет PS<->PY по этим измерениям проверялся ЧЕРЕЗ маску — расхождение физически не могло упасть. Снято три из четырёх (пробел, пустая пара, хвост). Схлопывание whitespace между тегами оставлено: порты кое-где расставляют отступы иначе, это форматирование, а не байтовый канон. Ужесточён checkPreserves: eol теперь считает ОДИНОЧНЫЕ LF, а не «есть ли хоть один CR». Прежняя проверка пропускала смешанный выход — cfe-init давал 10 CR на 70 строк и проходил её, то есть головной дефект тикета был ей невидим. Добавлены ключи selfClose:"tight" и noEmptyPairs; preserves проставлен в 13 кейсах навыков-эмиттеров (по одному на навык, на его СОБСТВЕННЫЙ артефакт). Снятие масок сразу вскрыло четыре реальных расхождения портов: - form-edit собирает выход из OuterXml и писал `<a />`; в списке 17 навыков его не было, потому что искал по вызовам Save — здесь другой путь. Тот же случай, что с Form.xml в cfe-borrow; - meta-edit py дописывал хвостовой перевод в создаваемый Ext/Predefined.xml и читал существующий без newline='' (терял CRLF); - skd-info py писал отчёт -OutFile без хвостового перевода, PS через WriteAllLines — с ним. Это текстовый отчёт, канон Конфигуратора к нему не относится, поэтому выровнял py по существующему эталону; - фикстуры кейсов содержали <Vendor></Vendor> — снимок нашего же старого вывода. Конфигуратор пустых пар не пишет, .NET их сохраняет, lxml схлопывает. Поправлены 10 фикстур: пары → самозакрывающиеся, EOL и BOM не тронуты. Результат: PS 641/641, python 638/641 (+3 runtimeOnly-скипа) — со снятыми масками. Дрейф снэпшотов: 10 файлов, только пробельные теги и пустые пары. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
11e4e4301f
commit
d7fd6d79d3
+1
-1
@@ -7,7 +7,7 @@
|
||||
</v8:item>
|
||||
</Title>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1" />
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
|
||||
+2
-2
@@ -7,12 +7,12 @@
|
||||
</v8:item>
|
||||
</Title>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1" />
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<ChildItems>
|
||||
<Button name="Выполнить" id="1">
|
||||
<CommandName>Form.Command.Выполнить</CommandName>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<ExtendedTooltip name="ВыполнитьРасширеннаяПодсказка" id="2" />
|
||||
<ExtendedTooltip name="ВыполнитьРасширеннаяПодсказка" id="2"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
|
||||
+5
-5
@@ -7,7 +7,7 @@
|
||||
</v8:item>
|
||||
</Title>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1" />
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<ChildItems>
|
||||
<InputField name="Поле1" id="1">
|
||||
<DataPath>Поле1</DataPath>
|
||||
@@ -17,8 +17,8 @@
|
||||
<v8:content>Поле 1</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ContextMenu name="Поле1КонтекстноеМеню" id="2" />
|
||||
<ExtendedTooltip name="Поле1РасширеннаяПодсказка" id="3" />
|
||||
<ContextMenu name="Поле1КонтекстноеМеню" id="2"/>
|
||||
<ExtendedTooltip name="Поле1РасширеннаяПодсказка" id="3"/>
|
||||
</InputField>
|
||||
<InputField name="Поле2" id="4">
|
||||
<DataPath>Поле2</DataPath>
|
||||
@@ -28,8 +28,8 @@
|
||||
<v8:content>Поле 2</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ContextMenu name="Поле2КонтекстноеМеню" id="5" />
|
||||
<ExtendedTooltip name="Поле2РасширеннаяПодсказка" id="6" />
|
||||
<ContextMenu name="Поле2КонтекстноеМеню" id="5"/>
|
||||
<ExtendedTooltip name="Поле2РасширеннаяПодсказка" id="6"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
|
||||
+8
-8
@@ -7,7 +7,7 @@
|
||||
</v8:item>
|
||||
</Title>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1" />
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<ChildItems>
|
||||
<InputField name="Поле1" id="1">
|
||||
<DataPath>Поле1</DataPath>
|
||||
@@ -17,8 +17,8 @@
|
||||
<v8:content>Существующее поле</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ContextMenu name="Поле1КонтекстноеМеню" id="2" />
|
||||
<ExtendedTooltip name="Поле1РасширеннаяПодсказка" id="3" />
|
||||
<ContextMenu name="Поле1КонтекстноеМеню" id="2"/>
|
||||
<ExtendedTooltip name="Поле1РасширеннаяПодсказка" id="3"/>
|
||||
</InputField>
|
||||
<UsualGroup name="ГруппаНовая" id="4">
|
||||
<Title>
|
||||
@@ -28,7 +28,7 @@
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Group>Horizontal</Group>
|
||||
<ExtendedTooltip name="ГруппаНоваяРасширеннаяПодсказка" id="5" />
|
||||
<ExtendedTooltip name="ГруппаНоваяРасширеннаяПодсказка" id="5"/>
|
||||
<ChildItems>
|
||||
<InputField name="Поле2" id="6">
|
||||
<DataPath>Поле2</DataPath>
|
||||
@@ -38,8 +38,8 @@
|
||||
<v8:content>Поле 2</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ContextMenu name="Поле2КонтекстноеМеню" id="7" />
|
||||
<ExtendedTooltip name="Поле2РасширеннаяПодсказка" id="8" />
|
||||
<ContextMenu name="Поле2КонтекстноеМеню" id="7"/>
|
||||
<ExtendedTooltip name="Поле2РасширеннаяПодсказка" id="8"/>
|
||||
</InputField>
|
||||
<InputField name="Поле3" id="9">
|
||||
<DataPath>Поле3</DataPath>
|
||||
@@ -49,8 +49,8 @@
|
||||
<v8:content>Поле 3</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ContextMenu name="Поле3КонтекстноеМеню" id="10" />
|
||||
<ExtendedTooltip name="Поле3РасширеннаяПодсказка" id="11" />
|
||||
<ContextMenu name="Поле3КонтекстноеМеню" id="10"/>
|
||||
<ExtendedTooltip name="Поле3РасширеннаяПодсказка" id="11"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
|
||||
Reference in New Issue
Block a user