1
0
mirror of https://github.com/bia-technologies/precommit4onec.git synced 2026-06-19 21:44:57 +02:00

Добавлен сценарий обработки тестов.

Исправление замечаний
This commit is contained in:
Суфьянов Артем Ильдарович
2020-09-29 10:44:02 +03:00
parent ad381e42d9
commit ea0bfa01d8
@@ -12,32 +12,10 @@
//
Функция ИмяСценария() Экспорт
Возврат "Обработка Юнит Тестов";
Возврат "ОбработкаЮнитТестов";
КонецФункции // ИмяСценария()
// ПолучитьСтандартныеНастройкиСценария
// Возвращает структуру настроек сценария
//
// Возвращаемое значение:
// Структура - Структура с настройками сценария
// * ИмяСценария - Строка - Имя, с которым сохранятся настройки
// * Настройка - Соответствие - настройки
//
Функция ПолучитьСтандартныеНастройкиСценария() Экспорт
ВызватьИсключение "Настройки отсутствуют";
НастройкиСценария = Новый Соответствие;
НастройкиСценария.Вставить("ИспользоватьПоУмолчанию", Истина);
НастройкиСценария.Вставить("Версия", "");
НастройкиСценария.Вставить("КоличествоПопыток", 5);
НастройкиСценария.Вставить("МассивПараметров", Новый Массив);
Возврат Новый Структура("ИмяСценария, Настройка", ИмяСценария(), НастройкиСценария);
КонецФункции
// ОбработатьФайл
// Выполняет обработку файла
//
@@ -62,12 +40,16 @@
// анализ файла без изменения его содержимого
Если АнализируемыйФайл.Существует() И ТипыФайлов.ЭтоФайлИсходников(АнализируемыйФайл)
И СтрНайти(КаталогИсходныхФайлов, "tests/src") Тогда
И СтрНайти(АнализируемыйФайл.ПолноеИмя, "/tests/") Тогда
Лог.Информация("Обработка файла '%1' по сценарию '%2'", АнализируемыйФайл.ПолноеИмя, ИмяСценария());
ОбработкаФайла(АнализируемыйФайл);
Если ОбработкаФайла(АнализируемыйФайл) Тогда
ДополнительныеПараметры.ИзмененныеКаталоги.Добавить(АнализируемыйФайл.ПолноеИмя);
КонецЕсли;
Возврат Истина;
КонецЕсли;
@@ -76,7 +58,7 @@
КонецФункции // ОбработатьФайл()
Процедура ОбработкаФайла(ИмяФайла)
Функция ОбработкаФайла(Файл)
РегулярноеВыражениеМетоды = Новый РегулярноеВыражение("\/\/\s*?\@unit-test\:.*?\nПроцедура\s+?(.+)\s*?\(.*\s*Экспорт");
РегулярноеВыражениеМетоды.ИгнорироватьРегистр = Истина;
@@ -86,18 +68,16 @@
РегулярноеВыражениеAPI.ИгнорироватьРегистр = Истина;
РегулярноеВыражениеAPI.Многострочный = Истина;
СодержимоеФайла = ФайловыеОперации.ПрочитатьТекстФайла(ИмяФайла);
Если Не ЗначениеЗаполнено(СодержимоеФайла) Тогда
Возврат;
КонецЕсли;
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(Файл.ПолноеИмя, КодировкаТекста.UTF8NoBOM);
Текст = ТекстовыйДокумент.ПолучитьТекст();
Если Не ЗначениеЗаполнено(Текст) Тогда
Возврат Ложь;
КонецЕсли;
Совпадения = РегулярноеВыражениеМетоды.НайтиСовпадения(Текст);
ТекстМетода = "";
Если Совпадения.Количество() Тогда
@@ -143,7 +123,12 @@
ТекстовыйДокумент.УстановитьТекст(НовыйТекстМодуля);
ТекстовыйДокумент.Записать(Файл.ПолноеИмя, КодировкаТекста.UTF8NoBOM);
Сообщить("Обновлен файл " + Файл.ПолноеИмя);
Возврат Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Возврат Ложь;
КонецФункции