1
0
mirror of https://github.com/bia-technologies/precommit4onec.git synced 2025-01-16 02:33:25 +02:00

ORAIS-1536: Исключить из проверки модули без исходных кодов.

This commit is contained in:
Зазулов Алексей Александрович (ЗК-0001393) 2024-07-31 12:49:42 +03:00 committed by Максимов Валерий Валерьевич (000044217)
parent 1b745d0eca
commit f65039d65f
5 changed files with 55 additions and 10 deletions

View File

@ -15,8 +15,24 @@
// Булево - Признак
//
Функция ЭтоФайлИсходников(Файл) Экспорт
Возврат СтрСравнить(Файл.Расширение, ".bsl") = 0 Или СтрСравнить(Файл.Расширение, ".os") = 0;
Если СтрСравнить(Файл.Расширение, ".bsl") = 0 Тогда
МаркерЗащищенногоМодуля = СтрРазделить("255 255 255 127", " ");
Буфер = ФайловыеОперации.ПрочитатьДвоичныеДанные(Файл.ПолноеИмя, МаркерЗащищенногоМодуля.Количество());
Сч = 0;
Для Каждого Байт ИЗ Буфер Цикл
Если МаркерЗащищенногоМодуля[Сч] <> Строка(Байт) Тогда
Возврат Истина;
КонецЕсли;
Сч = Сч + 1;
КонецЦикла;
Возврат Ложь;
Иначе
Возврат СтрСравнить(Файл.Расширение, ".os") = 0;
КонецЕсли;
КонецФункции
@ -267,11 +283,11 @@
Возврат СтрСравнить(Файл.Имя, "RecordSetModule.bsl") = 0;
КонецФункции
// По косвенным признакам опрделеяет принадлежность анализируемого файла к заимствованному в расширение
// По косвенным признакам определеяет принадлежность анализируемого файла к заимствованному в расширение
Функция ЭтоФайлЗаимствованногоОбъектаРасширения(Файл) Экспорт
Результат = Ложь;
Если НЕ (Файл.Существует() И Файл.ЭтоФайл())Тогда
Если НЕ (Файл.Существует() И Файл.ЭтоФайл()) Тогда
Возврат Результат;
КонецЕсли;

View File

@ -88,11 +88,8 @@
Возврат Кодировка;
КонецЕсли;
МаркерUTFBOM = СтрРазделить("239 187 191", " ");
ЧтениеДанных = Новый ЧтениеДанных(ПутьКФайлу);
Буфер = Новый БуферДвоичныхДанных(МаркерUTFBOM.Количество());
ЧтениеДанных.ПрочитатьВБуферДвоичныхДанных(Буфер, , МаркерUTFBOM.Количество());
ЧтениеДанных.Закрыть();
МаркерUTFBOM = СтрРазделить("239 187 191", " ");
Буфер = ПрочитатьДвоичныеДанные(ПутьКФайлу, МаркерUTFBOM.Количество());
Сч = 0;
Для Каждого Байт ИЗ Буфер Цикл
@ -109,6 +106,24 @@
КонецФункции // ОпределитьКодировку
// Читает двоичные данные файла и возвращает их в объекте БуферДвоичныхДанных.
//
// Параметры:
// ПутьКФайлу - Строка - Полный путь к файлу;
// Размер - Число - Количество байт, которое нужно прочитать из файла.
//
// Возвращаемое значение:
// БуферДвоичныхДанных - прочитанные данные файла
//
Функция ПрочитатьДвоичныеДанные(ПутьКФайлу, Размер) Экспорт
ЧтениеДанных = Новый ЧтениеДанных(ПутьКФайлу);
Буфер = Новый БуферДвоичныхДанных(Размер);
ЧтениеДанных.ПрочитатьВБуферДвоичныхДанных(Буфер, , Размер);
ЧтениеДанных.Закрыть();
Возврат Буфер;
КонецФункции
// Возвращает путь файла относительно корневого каталога
//
// Параметры:

View File

@ -56,7 +56,7 @@
Текст = Новый ЗаписьТекста();
Текст.Открыть(ПутьКФайлуМодуля, КодировкаТекста.UTF8NoBOM);
ТекстМодуля = Текст.ЗаписатьСтроку("HelloWorld", Символы.ПС);
Текст.ЗаписатьСтроку("HelloWorld", Символы.ПС);
Текст.Закрыть();
КонецПроцедуры

View File

@ -0,0 +1 @@
���  

View File

@ -23,6 +23,7 @@
ВсеТесты.Добавить("СортировкаСостава_ExchangePlans");
ВсеТесты.Добавить("СортировкаСостава_FunctionalOptions");
ВсеТесты.Добавить("СортировкаСостава_Subsystems");
ВсеТесты.Добавить("ТипыФайлов_ЗащищенныеМодулиНеОпределяютсяКакФайлИсходников");
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСинхронизацияОбъектовМетаданныхВызываетИсключениеEDT");
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурВызываетИсключение");
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурОбработаетФайл");
@ -143,6 +144,18 @@
#КонецОбласти
#Область ТипыФайлов
Процедура ТипыФайлов_ЗащищенныеМодулиНеОпределяютсяКакФайлИсходников() Экспорт
ПутьКФайлу = ОбъединитьПути(КаталогИсходников(), "tests\fixtures\ЗащищенныеФайлы", "Module.bsl");
Файл = Новый Файл(ПутьКФайлу);
Результат = ТипыФайлов.ЭтоФайлИсходников(Файл);
Ожидаем.Что(Результат, "Защищенный модуль не должен определяться как файл исходников").ЭтоЛожь();
КонецПроцедуры
#КонецОбласти
#Область ИсправлениеНеКаноническогоНаписания
Процедура ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетФайл() Экспорт