Skip to content

Commit

Permalink
Забыл про булево!
Browse files Browse the repository at this point in the history
  • Loading branch information
Segate-ekb committed Nov 26, 2024
1 parent b4402e3 commit 4828121
Show file tree
Hide file tree
Showing 8 changed files with 152 additions and 22 deletions.
2 changes: 1 addition & 1 deletion src/cf/Configuration.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
<ScriptVariant>Russian</ScriptVariant>
<DefaultRoles/>
<Vendor/>
<Version>0.0.0.1</Version>
<Version>0.0.0.2</Version>
<UpdateCatalogAddress/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UseManagedFormInOrdinaryApplication>false</UseManagedFormInOrdinaryApplication>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,8 @@
ВалидироватьМассив(Данные, ПроверяемаяСхема);
ИначеЕсли Тип = "object" Тогда
ВалидироватьОбъект(Данные, ПроверяемаяСхема);
ИначеЕсли Тип = "boolean" Тогда
ВалидироватьБулево(Данные, ПроверяемаяСхема);
Иначе
ТекстОшибки = СтрШаблон("Ошибка при разборе схемы! Задано некорректное значение типа в <%1>",
Данные.Значение);
Expand Down Expand Up @@ -510,6 +512,13 @@

#КонецОбласти

Процедура ВалидироватьБулево(Данные, ПроверяемаяСхема) // BSLLS:Typo-off
ОписаниеТипа = Новый ОписаниеТипов("Булево");
ЗначениеСвойства = Данные.Значение;

ТипЗначенияСоответствуетОписанию(ЗначениеСвойства, ОписаниеТипа);
КонецПроцедуры

Процедура УстановитьШаблонБазовойОшибки(Имя, Описание)
Представление = СтрШаблон("<%1>",Имя);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,23 @@
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<UsualGroup name="Группа" id="4">
<UsualGroup name="ГруппаВертикальная" id="17">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа</v8:content>
<v8:content>Группа вертикальная</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа</v8:content>
<v8:content>Группа вертикальная</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаРасширеннаяПодсказка" id="5"/>
<ExtendedTooltip name="ГруппаВертикальнаяРасширеннаяПодсказка" id="18"/>
<ChildItems>
<CheckBoxField name="Переключатель" id="11">
<DataPath>Переключатель</DataPath>
Expand All @@ -47,16 +48,35 @@
<Event name="OnChange">ПереключательПриИзменении</Event>
</Events>
</CheckBoxField>
<TextDocumentField name="JsonДляПроверки" id="14">
<DataPath>Объект.JsonДляПроверки</DataPath>
<ContextMenu name="JsonДляПроверкиКонтекстноеМеню" id="16"/>
<ExtendedTooltip name="JsonДляПроверкиРасширеннаяПодсказка" id="3"/>
</TextDocumentField>
<TextDocumentField name="СхемаOpenApi" id="6">
<DataPath>Объект.СхемаOpenApi</DataPath>
<ContextMenu name="СхемаOpenApiКонтекстноеМеню" id="7"/>
<ExtendedTooltip name="СхемаOpenApiРасширеннаяПодсказка" id="8"/>
</TextDocumentField>
<UsualGroup name="Группа" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа</v8:content>
</v8:item>
</ToolTip>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаРасширеннаяПодсказка" id="5"/>
<ChildItems>
<TextDocumentField name="JsonДляПроверки" id="14">
<DataPath>Объект.JsonДляПроверки</DataPath>
<ContextMenu name="JsonДляПроверкиКонтекстноеМеню" id="16"/>
<ExtendedTooltip name="JsonДляПроверкиРасширеннаяПодсказка" id="3"/>
</TextDocumentField>
<TextDocumentField name="СхемаOpenApi" id="6">
<DataPath>Объект.СхемаOpenApi</DataPath>
<ContextMenu name="СхемаOpenApiКонтекстноеМеню" id="7"/>
<ExtendedTooltip name="СхемаOpenApiРасширеннаяПодсказка" id="8"/>
</TextDocumentField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
</ChildItems>
Expand Down Expand Up @@ -96,4 +116,4 @@
<Action>Валидировать</Action>
</Command>
</Commands>
</Form>
</Form>
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
<CommonModule uuid="0920d8d5-a886-4262-b2a3-0cabe801d1a9">
<Properties>
<Name>ОМ_инт_ВалидаторПакетов</Name>
<Name>ОМ_ВалидаторПакетов</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>О м инт валидатор пакетов</v8:content>
<v8:content>О м валидатор пакетов</v8:content>
</v8:item>
</Synonym>
<Comment/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,16 @@
.ДобавитьТест("УспешнаяВалидацияМассива")
.ДобавитьТест("УспешнаяВалидацияСтроки")
.ДобавитьТест("УспешнаяВалидацияЧисла")
.ДобавитьТест("УспешнаяВалидацияЦелогоЧисла")
.ДобавитьТест("УспешнаяВалидацияБулева")
.ДобавитьТест("УспешнаяВложенногоСложногоОбъекта")
.ДобавитьТестовыйНабор("НегативныеТесты")
.ДобавитьТест("Ошибка_ВалидацияОбъекта")
.ДобавитьТест("Ошибка_ВалидацияМассива")
.ДобавитьТест("Ошибка_ВалидацияСтроки")
.ДобавитьТест("Ошибка_ВалидацияЧисла")
.ДобавитьТест("Ошибка_ВалидацияЦелогоЧисла")
.ДобавитьТест("Ошибка_ВалидацияБулева")

КонецПроцедуры

Expand Down Expand Up @@ -136,7 +145,7 @@
ЮТест.ОжидаетЧто(МассивОшибок)
.ИмеетДлинуБольше(0)
.Содержит(ЮТест.Предикат() // Значение по условиям
.СодержитСтрокуПоШаблону("Передан тип <.*>. Список допустимых типов: <Число>"))
.СодержитСтрокуПоШаблону("Передан тип <.*>. Список допустимых типов: <.*>"))

КонецПроцедуры

Expand Down Expand Up @@ -456,14 +465,32 @@
КонецПроцедуры

Процедура УспешнаяВалидацияЧисла() Экспорт
ОбъектПроверки = 42;
ОбъектПроверки = 42.5;
ИмяСхемы = "simple_number";
МассивОшибок = Валидировать(ОбъектПроверки, ИмяСхемы);

ЮТест.ОжидаетЧто(МассивОшибок)
.ИмеетДлину(0)
КонецПроцедуры

Процедура УспешнаяВалидацияЦелогоЧисла() Экспорт
ОбъектПроверки = 42;
ИмяСхемы = "simple_integer";
МассивОшибок = Валидировать(ОбъектПроверки, ИмяСхемы);

ЮТест.ОжидаетЧто(МассивОшибок)
.ИмеетДлину(0)
КонецПроцедуры

Процедура УспешнаяВалидацияБулева() Экспорт
ОбъектПроверки = true;
ИмяСхемы = "simple_boolean";
МассивОшибок = Валидировать(ОбъектПроверки, ИмяСхемы);

ЮТест.ОжидаетЧто(МассивОшибок)
.ИмеетДлину(0)
КонецПроцедуры

Процедура УспешнаяВложенногоСложногоОбъекта() Экспорт
ОбъектПроверки = Новый Структура("required, nested_object", "Требуемое", Новый Структура("required", "Требуемое"));
ИмяСхемы = "object";
Expand All @@ -473,6 +500,74 @@
.ИмеетДлину(0)
КонецПроцедуры

Процедура Ошибка_ВалидацияОбъекта() Экспорт
ОбъектПроверки = ЮТКоллекции.ЗначениеВМассиве("Раз","Два", "Три");
ИмяСхемы = "object";
МассивОшибок = Валидировать(ОбъектПроверки, ИмяСхемы);

ЮТест.ОжидаетЧто(МассивОшибок)
.ИмеетДлинуБольше(0)
.Содержит(ЮТест.Предикат() // Значение по условиям
.СодержитСтрокуПоШаблону("Передан тип <.*>. Список допустимых типов: <.*Структура.*>"))
КонецПроцедуры

Процедура Ошибка_ВалидацияМассива() Экспорт
ОбъектПроверки = "Никак не массив";
ИмяСхемы = "array";
МассивОшибок = Валидировать(ОбъектПроверки, ИмяСхемы);

ЮТест.ОжидаетЧто(МассивОшибок)
.ИмеетДлинуБольше(0)
.Содержит(ЮТест.Предикат() // Значение по условиям
.СодержитСтрокуПоШаблону("Передан тип <.*>. Список допустимых типов: <Массив>"))
КонецПроцедуры

Процедура Ошибка_ВалидацияСтроки() Экспорт
ОбъектПроверки = ЮТКоллекции.ЗначениеВМассиве("Раз","Два", "Три");
ИмяСхемы = "simple_string";
МассивОшибок = Валидировать(ОбъектПроверки, ИмяСхемы);

ЮТест.ОжидаетЧто(МассивОшибок)
.ИмеетДлинуБольше(0)
.Содержит(ЮТест.Предикат() // Значение по условиям
.СодержитСтрокуПоШаблону("Передан тип <.*>. Список допустимых типов: <Строка>"))
КонецПроцедуры

Процедура Ошибка_ВалидацияЧисла() Экспорт
ОбъектПроверки = "Не число";
ИмяСхемы = "simple_number";
МассивОшибок = Валидировать(ОбъектПроверки, ИмяСхемы);

ЮТест.ОжидаетЧто(МассивОшибок)
.ИмеетДлинуБольше(0)
.Содержит(ЮТест.Предикат() // Значение по условиям
.СодержитСтрокуПоШаблону("Передан тип <.*>. Список допустимых типов: <Число>"))

КонецПроцедуры

Процедура Ошибка_ВалидацияЦелогоЧисла() Экспорт
ОбъектПроверки = "Не число";
ИмяСхемы = "simple_integer";
МассивОшибок = Валидировать(ОбъектПроверки, ИмяСхемы);

ЮТест.ОжидаетЧто(МассивОшибок)
.ИмеетДлинуБольше(0)
.Содержит(ЮТест.Предикат() // Значение по условиям
.СодержитСтрокуПоШаблону("Передан тип <.*>. Список допустимых типов: <Число>"))

КонецПроцедуры

Процедура Ошибка_ВалидацияБулева() Экспорт
ОбъектПроверки = "Не булево";
ИмяСхемы = "simple_boolean";
МассивОшибок = Валидировать(ОбъектПроверки, ИмяСхемы);

ЮТест.ОжидаетЧто(МассивОшибок)
.ИмеетДлинуБольше(0)
.Содержит(ЮТест.Предикат() // Значение по условиям
.СодержитСтрокуПоШаблону("Передан тип <.*>. Список допустимых типов: <Булево>"))

КонецПроцедуры
#КонецОбласти

#Область СлужебныеПроцедурыИФункции
Expand Down
2 changes: 1 addition & 1 deletion src/cfe/YAXUNIT/Configuration.xml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
<CommonModule>МокитоПерехват</CommonModule>
<CommonModule>МокитоПроверки</CommonModule>
<CommonModule>МокитоСлужебный</CommonModule>
<CommonModule>ОМ_инт_ВалидаторПакетов</CommonModule>
<CommonModule>ОМ_ВалидаторПакетов</CommonModule>
<CommonModule>ЮТАсинхроннаяОбработкаСлужебныйКлиент</CommonModule>
<CommonModule>ЮТДымовыеТесты</CommonModule>
<CommonModule>ЮТДымовыеТестыСлужебныйВызовСервера</CommonModule>
Expand Down
2 changes: 1 addition & 1 deletion src/cfe/YAXUNIT/Subsystems/Тесты.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<Explanation/>
<Picture/>
<Content>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.ОМ_инт_ВалидаторПакетов</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.ОМ_ВалидаторПакетов</xr:Item>
</Content>
</Properties>
<ChildObjects/>
Expand Down
6 changes: 6 additions & 0 deletions tests/fixtures/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@
"simple_number": {
"type": "number"
},
"simple_integer": {
"type": "integer"
},
"simple_boolean": {
"type": "boolean"
},
"array":{
"type": "array",
"items":{
Expand Down

0 comments on commit 4828121

Please sign in to comment.