mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-20 01:20:59 +03:00
test(support-guard): committed deny-тесты на 13 навыков-мутаторов + фикс help-add
Регрессионная защита гарда: по одному expectError-кейсу guard-deny на каждый из 13 размноженных мутаторов (раньше committed-тесты были только у 3 пилотных). Ловит случайное удаление/поломку guard-вызова в будущем. Фикстуры on-support (рукотворный bin: корень/объект f1=0, плюс элемент f1=0 для edit-existing навыков — форма 4444, макет 5555, подсистема 6666). Структура под конвенцию каждого навбыка: owner/root для add/compile/edit конфигурации; плоский Locked/Ext для help-add (EPF-стиль). Заодно исправлен пред-существующий баг help-add Detect-FormatVersion (v1.5→v1.6, оба порта): Substring(0, byteLength) падал на кириллическом Configuration.xml (байт>символов). Теперь Substring по длине строки; фикстура help-add кириллическая — регрессия фикса покрыта тестом. Все 13 guard-кейсов зелёные на PowerShell и Python; deny через exit≠0 + stderr "support-guard". Существующие кейсы не затронуты. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
b17dd5d04c
commit
acbd6be46c
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" version="2.17">
|
||||
<Catalog uuid="22222222-2222-2222-2222-222222222222">
|
||||
<Properties>
|
||||
<Name>Locked</Name>
|
||||
<Synonym/>
|
||||
<CodeLength>9</CodeLength>
|
||||
<DescriptionLength>25</DescriptionLength>
|
||||
</Properties>
|
||||
<ChildObjects/>
|
||||
</Catalog>
|
||||
</MetaDataObject>
|
||||
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" version="2.17"><Form uuid="44444444-4444-4444-4444-444444444444"><Properties><Name>ТестФорма</Name></Properties><ChildObjects/></Form></MetaDataObject>
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" version="2.17"><Title><v8:item xmlns:v8="http://v8.1c.ru/8.1/data/core"><v8:lang>ru</v8:lang><v8:content>Тест</v8:content></v8:item></Title></Form>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" version="2.17">
|
||||
<Catalog uuid="33333333-3333-3333-3333-333333333333">
|
||||
<Properties>
|
||||
<Name>Removed</Name>
|
||||
<Synonym/>
|
||||
<CodeLength>9</CodeLength>
|
||||
<DescriptionLength>25</DescriptionLength>
|
||||
</Properties>
|
||||
<ChildObjects/>
|
||||
</Catalog>
|
||||
</MetaDataObject>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" version="2.17">
|
||||
<Configuration uuid="11111111-1111-1111-1111-111111111111">
|
||||
<Properties>
|
||||
<Name>ТестКонфиг</Name>
|
||||
<Vendor>ТестВендор</Vendor>
|
||||
<Version>1.0</Version>
|
||||
</Properties>
|
||||
<ChildObjects>
|
||||
<Catalog>Locked</Catalog>
|
||||
<Catalog>Removed</Catalog>
|
||||
</ChildObjects>
|
||||
</Configuration>
|
||||
</MetaDataObject>
|
||||
@@ -0,0 +1 @@
|
||||
{6,0,1,aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa,0,bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb,"1.0","ТестВендор","ТестКонфиг",3,0,0,11111111-1111-1111-1111-111111111111,0,0,22222222-2222-2222-2222-222222222222,22222222-2222-2222-2222-222222222222,2,0,33333333-3333-3333-3333-333333333333,33333333-3333-3333-3333-333333333333,0,0,44444444-4444-4444-4444-444444444444,44444444-4444-4444-4444-444444444444}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "Guard: правка формы на замке (f1=0) запрещена",
|
||||
"setup": "fixture:on-support",
|
||||
"params": {
|
||||
"formPath": "Catalogs/Locked/Forms/ТестФорма/Ext/Form.xml"
|
||||
},
|
||||
"input": {
|
||||
"operations": [
|
||||
{
|
||||
"op": "add-attribute",
|
||||
"name": "Рек",
|
||||
"type": "String",
|
||||
"length": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"expectError": "support-guard"
|
||||
}
|
||||
Reference in New Issue
Block a user