1
0
mirror of https://github.com/bia-technologies/precommit4onec.git synced 2025-05-31 23:09:33 +02:00

#ONECICD-21

Добавил тесты
вынес часть функциональности по дочерним элементам конфигурации
Сделал поиск каталогов в файловых операциях.
This commit is contained in:
Dmitriy Medvedev 2019-10-30 16:21:00 +03:00
parent 25456e2d36
commit cedfec1afb
8 changed files with 376 additions and 3 deletions

View File

@ -0,0 +1,25 @@
Функция ПолучитьДочерниеЭлементыОписанияКонфигурации(Знач СодержимоеФайла) Экспорт
Элементы = Новый Структура("Количество,ДочерниеЭлементыСтрока,Совпадения", 0, "", Неопределено);
Регексп = Новый РегулярноеВыражение("(<ChildObjects>\s+?)([\w\W]+?)(\s+<\/ChildObjects>)");
Регексп.ИгнорироватьРегистр = Истина;
Регексп.Многострочный = Истина;
ДочерниеЭлементы = Регексп.НайтиСовпадения(СодержимоеФайла);
Элементы.Количество = ДочерниеЭлементы.Количество();
Элементы.Совпадения = ДочерниеЭлементы;
Если НЕ Элементы.Количество = 0 Тогда // Если количество 0 вернется пустая коллекция
Элементы.ДочерниеЭлементыСтрока = ДочерниеЭлементы[0].Группы[2].Значение;
РегекспМетаданные = Новый РегулярноеВыражение("^\s+<([\w]+)>([а-яa-zA-ZА-Я0-9_]+)<\/[\w]+>");
РегекспМетаданные.ИгнорироватьРегистр = Истина;
РегекспМетаданные.Многострочный = Истина;
Элементы.Совпадения = РегекспМетаданные.НайтиСовпадения(Элементы.ДочерниеЭлементыСтрока);
КонецЕсли;
Возврат Элементы;
КонецФункции

View File

@ -163,6 +163,33 @@
КонецФункции
Функция НайтиКаталоги(Путь) Экспорт
МассивКаталогов = Новый Массив;
ФайлКаталога = Новый Файл(Путь);
Если ФайлКаталога.Существует() И ФайлКаталога.ЭтоКаталог() Тогда
МассивФайлов = НайтиФайлы(ФайлКаталога.ПолноеИмя, "*");
Для Каждого Файл Из МассивФайлов Цикл
Если Файл.ЭтоКаталог() Тогда
МассивКаталогов.Добавить(Файл);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Возврат МассивКаталогов;
КонецФункции
Процедура ПроверитьКорневойКаталог(ПутьКорневогоКаталога)
Если ПустаяСтрока(ПутьКорневогоКаталога) Тогда
@ -171,4 +198,4 @@
КонецЕсли;
КонецПроцедуры
КонецПроцедуры

View File

@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8"?>
<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.4">
<Configuration uuid="a9e56180-7614-44a3-b39f-37c57faf81db">
<InternalInfo>
<xr:ContainedObject>
<xr:ClassId>9cd510cd-abfc-11d4-9434-004095e12fc7</xr:ClassId>
<xr:ObjectId>61441f19-9f51-458a-b3c1-096710909ca5</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>9fcd25a0-4822-11d4-9414-008048da11f9</xr:ClassId>
<xr:ObjectId>e0886af0-d116-4dda-8bb6-1395b88a5024</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>e3687481-0a87-462c-a166-9f34594f9bba</xr:ClassId>
<xr:ObjectId>1c7012cd-fd33-4338-83d7-fd2b0f8ed99d</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>9de14907-ec23-4a07-96f0-85521cb6b53b</xr:ClassId>
<xr:ObjectId>bcf5db24-8183-4235-a2e9-71c69d8241ee</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>51f2d5d8-ea4d-4064-8892-82951750031e</xr:ClassId>
<xr:ObjectId>328ab8b4-edfe-4635-9540-12b512d5eb6d</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>e68182ea-4237-4383-967f-90c1e3370bc7</xr:ClassId>
<xr:ObjectId>b0523782-50dc-4ee1-8d2b-97d3c9cfa538</xr:ObjectId>
</xr:ContainedObject>
</InternalInfo>
<Properties>
<Name>СервиснаяСистема</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ServiceDataBase</v8:content>
</v8:item>
</Synonym>
<Comment/>
<NamePrefix/>
<ConfigurationExtensionCompatibilityMode>Version8_3_10</ConfigurationExtensionCompatibilityMode>
<DefaultRunMode>ManagedApplication</DefaultRunMode>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PersonalComputer</v8:Value>
</UsePurposes>
<ScriptVariant>Russian</ScriptVariant>
<DefaultRoles>
<xr:Item xsi:type="xr:MDObjectRef">Role.Администратор</xr:Item>
</DefaultRoles>
<Vendor>BIA Tecnologies, LLC</Vendor>
<Version>3.1.0.0</Version>
<UpdateCatalogAddress/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UseManagedFormInOrdinaryApplication>true</UseManagedFormInOrdinaryApplication>
<UseOrdinaryFormInManagedApplication>true</UseOrdinaryFormInManagedApplication>
<AdditionalFullTextSearchDictionaries/>
<CommonSettingsStorage/>
<ReportsUserSettingsStorage/>
<ReportsVariantsStorage/>
<FormDataSettingsStorage/>
<DynamicListsUserSettingsStorage/>
<Content/>
<DefaultReportForm>CommonForm.ОбщаяФормаОтчета</DefaultReportForm>
<DefaultReportVariantForm/>
<DefaultReportSettingsForm/>
<DefaultDynamicListSettingsForm/>
<DefaultSearchForm/>
<RequiredMobileApplicationPermissions>
<v8:pair>
<v8:Key xsi:type="app:RequiredMobileApplicationPermissions">Multimedia</v8:Key>
<v8:Value xsi:type="xs:boolean">false</v8:Value>
</v8:pair>
<v8:pair>
<v8:Key xsi:type="app:RequiredMobileApplicationPermissions">Location</v8:Key>
<v8:Value xsi:type="xs:boolean">false</v8:Value>
</v8:pair>
<v8:pair>
<v8:Key xsi:type="app:RequiredMobileApplicationPermissions">Contacts</v8:Key>
<v8:Value xsi:type="xs:boolean">false</v8:Value>
</v8:pair>
<v8:pair>
<v8:Key xsi:type="app:RequiredMobileApplicationPermissions">Calendars</v8:Key>
<v8:Value xsi:type="xs:boolean">false</v8:Value>
</v8:pair>
<v8:pair>
<v8:Key xsi:type="app:RequiredMobileApplicationPermissions">Telephony</v8:Key>
<v8:Value xsi:type="xs:boolean">false</v8:Value>
</v8:pair>
<v8:pair>
<v8:Key xsi:type="app:RequiredMobileApplicationPermissions">PushNotification</v8:Key>
<v8:Value xsi:type="xs:boolean">false</v8:Value>
</v8:pair>
<v8:pair>
<v8:Key xsi:type="app:RequiredMobileApplicationPermissions">LocalNotification</v8:Key>
<v8:Value xsi:type="xs:boolean">false</v8:Value>
</v8:pair>
<v8:pair>
<v8:Key xsi:type="app:RequiredMobileApplicationPermissions">Print</v8:Key>
<v8:Value xsi:type="xs:boolean">false</v8:Value>
</v8:pair>
<v8:pair>
<v8:Key xsi:type="app:RequiredMobileApplicationPermissions">InAppPurchases</v8:Key>
<v8:Value xsi:type="xs:boolean">false</v8:Value>
</v8:pair>
<v8:pair>
<v8:Key xsi:type="app:RequiredMobileApplicationPermissions">Ads</v8:Key>
<v8:Value xsi:type="xs:boolean">false</v8:Value>
</v8:pair>
</RequiredMobileApplicationPermissions>
<MainClientApplicationWindowMode>Normal</MainClientApplicationWindowMode>
<DefaultInterface/>
<DefaultStyle/>
<DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сервисная ИС</v8:content>
</v8:item>
</BriefInformation>
<DetailedInformation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сервисная ИС для выполнения различных задач, не связанных с реальным бизнесом
</v8:content>
</v8:item>
</DetailedInformation>
<Copyright>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>© ООО "БиАйЭй-Технолоджиз" (BIA-Technologies LLC). 2014-2018. Все права защищены. Все торговые марки являются собственностью их правообладателей.</v8:content>
</v8:item>
</Copyright>
<VendorInformationAddress>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>www.bia-tech.ru</v8:content>
</v8:item>
</VendorInformationAddress>
<ConfigurationInformationAddress/>
<DataLockControlMode>Managed</DataLockControlMode>
<ObjectAutonumerationMode>AutoFree</ObjectAutonumerationMode>
<ModalityUseMode>DontUse</ModalityUseMode>
<SynchronousPlatformExtensionAndAddInCallUseMode>Use</SynchronousPlatformExtensionAndAddInCallUseMode>
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
<CompatibilityMode>Version8_3_10</CompatibilityMode>
<DefaultConstantsForm>CommonForm.НастройкаСистемы</DefaultConstantsForm>
</Properties>
<ChildObjects>
<Language>Русский</Language>
<Subsystem>ПодсистемыБСП</Subsystem>
<CommonPicture>GUID</CommonPicture>
<SessionParameter>автоТестирование</SessionParameter>
<Role>АвтоТестированиеАдминистратор</Role>
<CommonTemplate>HiddenStart</CommonTemplate>
<CommonModule>sFTPКлиентСервер</CommonModule>
<CommonAttribute>UID</CommonAttribute>
<XDTOPackage>bsp_ancillary</XDTOPackage>
<WebService>ancillary</WebService>
<WebService>bus_DataReceiving</WebService>
<EventSubscription>ВерсионированиеПриЗаписи</EventSubscription>
<ScheduledJob>РоботАвтоматическаяОбработкаИзмененийАдресногоКлассификатора</ScheduledJob>
<FunctionalOption>ВестиЖурналДействийПользователя</FunctionalOption>
<DefinedType>ТипUIDСтрока</DefinedType>
<CommonCommand>АудиторскийСлед</CommonCommand>
<CommandGroup>Печать</CommandGroup>
<Constant>АдресатыПолученияУведомленийОбИзмененияхВАлгоритмах</Constant>
<CommonForm>АвторизацияПользователя</CommonForm>
<Catalog>АдресаЭлектроннойПочты</Catalog>
<Document>АттестацияРазработчика</Document>
<Enum>ВариантХраненияФайлов</Enum>
<Report>анализЖурналаРегистрации</Report>
<DataProcessor>активныеПользователи</DataProcessor>
<InformationRegister>администраторыБаз</InformationRegister>
<ChartOfCharacteristicTypes>РасширенныеХарактеристикиОбъектов</ChartOfCharacteristicTypes>
</ChildObjects>
</Configuration>
</MetaDataObject>

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<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.4">
<WebService uuid="d0090620-bf34-4897-bd00-a3b1cb21e35d">
<Properties>
<Name>techServices</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Tech services</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Namespace>http://local.dellin.ru/tech</Namespace>
<XDTOPackages>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xr:MDObjectRef">XDTOPackage.dellin_tech</xr:Value>
</xr:Item>
</XDTOPackages>
<DescriptorFileName>techServices.1cws</DescriptorFileName>
<ReuseSessions>AutoUse</ReuseSessions>
<SessionMaxAge>20</SessionMaxAge>
</Properties>
<ChildObjects>
<Operation uuid="f23afc05-ff66-4d5e-8f90-9d0449c76218">
<Properties>
<Name>ping</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ping</v8:content>
</v8:item>
</Synonym>
<Comment/>
<XDTOReturningValueType>xs:string</XDTOReturningValueType>
<Nillable>false</Nillable>
<Transactioned>false</Transactioned>
<ProcedureName>ping</ProcedureName>
<DataLockControlMode>Managed</DataLockControlMode>
</Properties>
<ChildObjects/>
</Operation>
</ChildObjects>
</WebService>
</MetaDataObject>

View File

@ -25,7 +25,8 @@
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетФайл");
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияНеИндексируетНеизмененные");
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетТолькоНаписание");
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСинхронизацияОбъектовМетаданныхВызываетИсключение");
Возврат ВсеТесты;
КонецФункции
@ -133,7 +134,7 @@
#КонецОбласти
#Область ПроверкаДублейПроцедуриФункций
#Область ПроверкаДублейПроцедурИФункций
Процедура ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурВызываетИсключение() Экспорт
ОбъектСценария = ПолучитьСценарий("ПроверкаДублейПроцедурИФункций.os");
@ -177,7 +178,71 @@
#КонецОбласти
#КонецОбласти
#Область СинхронизацияОбъектовМетаданныхИФайлов
Процедура ТестДолжен_ПроверитьЧтоСинхронизацияОбъектовМетаданныхВызываетИсключение() Экспорт
ОбъектСценария = ПолучитьСценарий("СинхронизацияОбъектовМетаданныхИФайлов.os");
Файл = Новый Файл(ОбъединитьПути(КаталогТестовыхФикстур(), "СинхронизацияОбъектовМетаданныхИФайлов\Configuration.xml"));
// Переименование типа без переименования каталога
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Имя каталога Ancillary отличается от метаданного ancillary");
// удаление типа без удаления файлов
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Необходимо удалить файлы");
// базовые элементы
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог ChartsOfCharacteristicTypes");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог Catalogs");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог CommandGroups");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог CommonAttributes");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог CommonCommands");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог CommonForms");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог CommonModules");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог CommonPictures");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог CommonTemplates");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог Constants");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог DataProcessors");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог DefinedTypes");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог Documents");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог Enums");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог EventSubscriptions");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог FunctionalOptions");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог InformationRegisters");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог Languages");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог Reports");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог Roles");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог ScheduledJobs");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог SessionParameters");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог Subsystems");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствует каталог XDTOPackages");
// элементы метаданых
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для Language.Русский");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для Subsystem.ПодсистемыБСП");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для CommonPicture.GUID");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для Role.АвтоТестированиеАдминистратор");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для SessionParameter.автоТестирование");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для CommonTemplate.HiddenStart");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для CommonModule.sFTPКлиентСервер");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для CommonAttribute.UID");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для XDTOPackage.bsp_ancillary");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для EventSubscription.ВерсионированиеПриЗаписи");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для ScheduledJob.РоботАвтоматическаяОбработкаИзмененийАдресногоКлассификатора");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для FunctionalOption.ВестиЖурналДействийПользователя");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для DefinedType.ТипUIDСтрока");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для CommonCommand.АудиторскийСлед");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для CommandGroup.Печать");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для Constant.АдресатыПолученияУведомленийОбИзмененияхВАлгоритмах");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для CommonForm.АвторизацияПользователя");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для Catalog.АдресаЭлектроннойПочты");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для Document.АттестацияРазработчика");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для Enum.ВариантХраненияФайлов");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для Report.анализЖурналаРегистрации");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для DataProcessor.активныеПользователи");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для InformationRegister.администраторыБаз");
ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "Отсутствуют файлы для ChartOfCharacteristicTypes.РасширенныеХарактеристикиОбъектов");
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
Процедура ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, ТекстИсключения)

View File

@ -16,6 +16,7 @@
ВсеТесты.Добавить("ТестДолжен_ПрочитатьФайл");
ВсеТесты.Добавить("ТестДолжен_ЗаписатьФайл");
ВсеТесты.Добавить("ТестДолжен_ПроверитьПоискКаталогов");
Возврат ВсеТесты;
@ -41,6 +42,37 @@
КонецПроцедуры
Процедура ТестДолжен_ПроверитьПоискКаталогов() Экспорт
ТестовыйКаталог = МенеджерВременныхФайлов.СоздатьКаталог();
МенеджерВременныхФайлов.БазовыйКаталог = ТестовыйКаталог;
НайденныеКаталоги = ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог);
Утверждения.ПроверитьРавенство(ТипЗнч(НайденныеКаталоги), Тип("Массив"));
Утверждения.ПроверитьРавенство(ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог).Количество(), 0);
МенеджерВременныхФайлов.СоздатьКаталог();
Утверждения.ПроверитьРавенство(ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог).Количество(), 1);
МенеджерВременныхФайлов.СоздатьКаталог();
Утверждения.ПроверитьРавенство(ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог).Количество(), 2);
МенеджерВременныхФайлов.СоздатьКаталог();
Утверждения.ПроверитьРавенство(ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог).Количество(), 3);
МенеджерВременныхФайлов.СоздатьКаталог();
Утверждения.ПроверитьРавенство(ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог).Количество(), 4);
ИмяФайла = МенеджерВременныхФайлов.СоздатьФайл();
Файл = Новый Файл(ИмяФайла);
Утверждения.ПроверитьРавенство(Файл.Путь, ТестовыйКаталог + ПолучитьРазделительПути());
Утверждения.ПроверитьРавенство(Файл.Существует(), Истина);
Утверждения.ПроверитьРавенство(ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог).Количество(), 4);
КонецПроцедуры
Процедура ПередЗапускомТеста() Экспорт
ВремТестер = Новый Тестер;