mirror of
https://github.com/bia-technologies/precommit4onec.git
synced 2025-05-17 22:12:50 +02:00
#ONECICD-414
Правка замечаний
This commit is contained in:
parent
ed296a6a05
commit
438d76a122
@ -63,12 +63,12 @@
|
|||||||
Сценарий: Прекоммит вывел ошибку о некорректных директивах компиляции
|
Сценарий: Прекоммит вывел ошибку о некорректных директивах компиляции
|
||||||
Когда Я копирую файл "tests\fixtures\ПроверкаКорректностиДирективКомпиляции.bsl" в каталог репозитория "РабочийКаталог"
|
Когда Я копирую файл "tests\fixtures\ПроверкаКорректностиДирективКомпиляции.bsl" в каталог репозитория "РабочийКаталог"
|
||||||
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os exec-rules <РабочийКаталог> -source-dir ."
|
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os exec-rules <РабочийКаталог> -source-dir ."
|
||||||
Тогда Вывод команды "oscript" содержит "ошибки в написании директивы в строке"
|
Тогда Вывод команды "oscript" содержит "ошибка в написании директивы"
|
||||||
|
|
||||||
Сценарий: Прекоммит вывел ошибку о некорректных директивах компиляции
|
Сценарий: Прекоммит вывел ошибку о некорректных директивах компиляции
|
||||||
Когда Я копирую файл "tests\fixtures\ПроверкаКорректностиДирективКомпиляции2.bsl" в каталог репозитория "РабочийКаталог"
|
Когда Я копирую файл "tests\fixtures\ПроверкаКорректностиДирективКомпиляции2.bsl" в каталог репозитория "РабочийКаталог"
|
||||||
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os exec-rules <РабочийКаталог> -source-dir ."
|
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os exec-rules <РабочийКаталог> -source-dir ."
|
||||||
Тогда Вывод команды "oscript" содержит "ошибки в парности условий"
|
Тогда Вывод команды "oscript" содержит "ошибки в парности директив #Если и #КонецЕсли."
|
||||||
|
|
||||||
Сценарий: Прекоммит использует локальные настройки репозитория вместо глобальных
|
Сценарий: Прекоммит использует локальные настройки репозитория вместо глобальных
|
||||||
Когда Я копирую каталог "localscenario" из каталога "tests\fixtures" проекта в рабочий каталог
|
Когда Я копирую каталог "localscenario" из каталога "tests\fixtures" проекта в рабочий каталог
|
||||||
|
@ -53,6 +53,8 @@
|
|||||||
|
|
||||||
Процедура ПроверитьНаКорректностьДиректив(ПутьКФайлуМодуля)
|
Процедура ПроверитьНаКорректностьДиректив(ПутьКФайлуМодуля)
|
||||||
|
|
||||||
|
МассивКлючевыхСлов = ПолучитьМассивДиректив();
|
||||||
|
|
||||||
СодержимоеФайла = ФайловыеОперации.ПрочитатьТекстФайла(ПутьКФайлуМодуля);
|
СодержимоеФайла = ФайловыеОперации.ПрочитатьТекстФайла(ПутьКФайлуМодуля);
|
||||||
|
|
||||||
ТекстРазбора = Новый ТекстовыйДокумент;
|
ТекстРазбора = Новый ТекстовыйДокумент;
|
||||||
@ -65,12 +67,12 @@
|
|||||||
|
|
||||||
СовпаденияПоКолличеству = ШаблонПоиска.НайтиСовпадения(СодержимоеФайла);
|
СовпаденияПоКолличеству = ШаблонПоиска.НайтиСовпадения(СодержимоеФайла);
|
||||||
|
|
||||||
ШаблонПоиска = Новый РегулярноеВыражение("#Если([\W\w]+?)#КонецЕсли");
|
ШаблонПоиска = Новый РегулярноеВыражение("^\s?#Если([\W\w]+?)^\s?#КонецЕсли");
|
||||||
СовпаденияПоСтруктуре = ШаблонПоиска.НайтиСовпадения(СодержимоеФайла);
|
СовпаденияПоСтруктуре = ШаблонПоиска.НайтиСовпадения(СодержимоеФайла);
|
||||||
|
|
||||||
Если СовпаденияПоКолличеству.Количество() <> СовпаденияПоСтруктуре.Количество() * 2 Тогда
|
Если СовпаденияПоКолличеству.Количество() <> СовпаденияПоСтруктуре.Количество() * 2 Тогда
|
||||||
|
|
||||||
ТекстОшибки = СтрШаблон("В файле '%1' ошибки в парности условий", ПутьКФайлуМодуля);
|
ТекстОшибки = СтрШаблон("В файле '%1' ошибки в парности директив #Если и #КонецЕсли.", ПутьКФайлуМодуля);
|
||||||
Лог.Ошибка(ТекстОшибки);
|
Лог.Ошибка(ТекстОшибки);
|
||||||
ВызватьИсключение ТекстОшибки;
|
ВызватьИсключение ТекстОшибки;
|
||||||
|
|
||||||
@ -80,9 +82,11 @@
|
|||||||
|
|
||||||
СтрокаМодуля = СокрЛ(ТекстРазбора.ПолучитьСтроку(Ит));
|
СтрокаМодуля = СокрЛ(ТекстРазбора.ПолучитьСтроку(Ит));
|
||||||
|
|
||||||
Если Не ПустаяСтрока(СтрокаМодуля) Тогда
|
Если ПустаяСтрока(СтрокаМодуля) ИЛИ Не СтрНачинаетсяС(СтрокаМодуля, "#") ИЛИ СтрНачинаетсяС(СтрокаМодуля, "#Область") Тогда
|
||||||
|
|
||||||
Если СтрНачинаетсяС(СтрокаМодуля, "#") И Не СтрНачинаетсяС(СтрокаМодуля, "#Область") Тогда
|
Продолжить;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
СтрокаМодуля = Прав(СтрокаМодуля, СтрДлина(СтрокаМодуля) - 1);
|
СтрокаМодуля = Прав(СтрокаМодуля, СтрДлина(СтрокаМодуля) - 1);
|
||||||
|
|
||||||
@ -90,9 +94,9 @@
|
|||||||
|
|
||||||
Для Каждого Директива Из МассивПодстрок Цикл
|
Для Каждого Директива Из МассивПодстрок Цикл
|
||||||
|
|
||||||
Если Не НайтиВСпискеКлючевыхСлов(Директива) Тогда
|
Если МассивКлючевыхСлов.Найти(Директива) = Неопределено Тогда
|
||||||
|
|
||||||
ТекстОшибки = СтрШаблон("В файле '%1' ошибки в написании директивы в строке '%2': '%3'", ПутьКФайлуМодуля, Ит, СтрокаМодуля);
|
ТекстОшибки = СтрШаблон("В файле '%1' ошибка в написании директивы '%2' в строке '%3'", ПутьКФайлуМодуля, Директива, Ит);
|
||||||
Лог.Ошибка(ТекстОшибки);
|
Лог.Ошибка(ТекстОшибки);
|
||||||
ВызватьИсключение ТекстОшибки;
|
ВызватьИсключение ТекстОшибки;
|
||||||
|
|
||||||
@ -100,15 +104,11 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция НайтиВСпискеКлючевыхСлов(Директива)
|
Функция ПолучитьМассивДиректив()
|
||||||
|
|
||||||
МассивКлючевыхСлов = Новый Массив();
|
МассивКлючевыхСлов = Новый Массив();
|
||||||
|
|
||||||
@ -133,7 +133,7 @@
|
|||||||
МассивКлючевыхСлов.Добавить("ИЛИ");
|
МассивКлючевыхСлов.Добавить("ИЛИ");
|
||||||
МассивКлючевыхСлов.Добавить("НЕ");
|
МассивКлючевыхСлов.Добавить("НЕ");
|
||||||
|
|
||||||
Возврат Не МассивКлючевыхСлов.Найти(Директива) = Неопределено;
|
Возврат МассивКлючевыхСлов;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
@ -10,3 +10,21 @@
|
|||||||
#ИНАЧЕЕсли ТолстыйКлиентУправляемоеПриложениюю
|
#ИНАЧЕЕсли ТолстыйКлиентУправляемоеПриложениюю
|
||||||
|
|
||||||
#ИНАЧЕЕсли (ТолстыйКлиентУправляемоеПриложениюю и ТолстыйКлиентОбычноеПриложение)
|
#ИНАЧЕЕсли (ТолстыйКлиентУправляемоеПриложениюю и ТолстыйКлиентОбычноеПриложение)
|
||||||
|
|
||||||
|
#Если (МобильноеПриложениеКлиент ИЛИ МобильноеПриложениеСервер Тогда)
|
||||||
|
#ИначеЕсли (ТолстыйКлиентОбычноеПриложение ИЛИ НЕ ТолстыйКлиентУправляемоеПриложение)
|
||||||
|
#Иначе
|
||||||
|
#КонецЕсли
|
||||||
|
|
||||||
|
#Если НаКлиент ИЛИ НаСервер
|
||||||
|
#КонецЕсли
|
||||||
|
|
||||||
|
|
||||||
|
#Если Сервере ИЛИ НЕ Клиенте
|
||||||
|
#КонецЕсли
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
&ВнешнееСоединение
|
||||||
|
&ТонкийКлиент
|
||||||
|
&ВебКлиент
|
||||||
|
#КонецОбласти
|
@ -19,3 +19,7 @@
|
|||||||
#Иначе
|
#Иначе
|
||||||
|
|
||||||
#КонецЕсли
|
#КонецЕсли
|
||||||
|
|
||||||
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
|
||||||
|
// Вставить содержимое обработчика.
|
||||||
|
КонецПроцедуры
|
Loading…
x
Reference in New Issue
Block a user