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:
parent
1b745d0eca
commit
f65039d65f
@ -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;
|
||||
КонецФункции
|
||||
|
||||
// По косвенным признакам опрделеяет принадлежность анализируемого файла к заимствованному в расширение
|
||||
// По косвенным признакам определеяет принадлежность анализируемого файла к заимствованному в расширение
|
||||
Функция ЭтоФайлЗаимствованногоОбъектаРасширения(Файл) Экспорт
|
||||
Результат = Ложь;
|
||||
|
||||
Если НЕ (Файл.Существует() И Файл.ЭтоФайл())Тогда
|
||||
Если НЕ (Файл.Существует() И Файл.ЭтоФайл()) Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
|
@ -88,11 +88,8 @@
|
||||
Возврат Кодировка;
|
||||
КонецЕсли;
|
||||
|
||||
МаркерUTFBOM = СтрРазделить("239 187 191", " ");
|
||||
ЧтениеДанных = Новый ЧтениеДанных(ПутьКФайлу);
|
||||
Буфер = Новый БуферДвоичныхДанных(МаркерUTFBOM.Количество());
|
||||
ЧтениеДанных.ПрочитатьВБуферДвоичныхДанных(Буфер, , МаркерUTFBOM.Количество());
|
||||
ЧтениеДанных.Закрыть();
|
||||
МаркерUTFBOM = СтрРазделить("239 187 191", " ");
|
||||
Буфер = ПрочитатьДвоичныеДанные(ПутьКФайлу, МаркерUTFBOM.Количество());
|
||||
|
||||
Сч = 0;
|
||||
Для Каждого Байт ИЗ Буфер Цикл
|
||||
@ -109,6 +106,24 @@
|
||||
|
||||
КонецФункции // ОпределитьКодировку
|
||||
|
||||
// Читает двоичные данные файла и возвращает их в объекте БуферДвоичныхДанных.
|
||||
//
|
||||
// Параметры:
|
||||
// ПутьКФайлу - Строка - Полный путь к файлу;
|
||||
// Размер - Число - Количество байт, которое нужно прочитать из файла.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// БуферДвоичныхДанных - прочитанные данные файла
|
||||
//
|
||||
Функция ПрочитатьДвоичныеДанные(ПутьКФайлу, Размер) Экспорт
|
||||
ЧтениеДанных = Новый ЧтениеДанных(ПутьКФайлу);
|
||||
Буфер = Новый БуферДвоичныхДанных(Размер);
|
||||
ЧтениеДанных.ПрочитатьВБуферДвоичныхДанных(Буфер, , Размер);
|
||||
ЧтениеДанных.Закрыть();
|
||||
|
||||
Возврат Буфер;
|
||||
КонецФункции
|
||||
|
||||
// Возвращает путь файла относительно корневого каталога
|
||||
//
|
||||
// Параметры:
|
||||
|
@ -56,7 +56,7 @@
|
||||
Текст = Новый ЗаписьТекста();
|
||||
Текст.Открыть(ПутьКФайлуМодуля, КодировкаТекста.UTF8NoBOM);
|
||||
|
||||
ТекстМодуля = Текст.ЗаписатьСтроку("HelloWorld", Символы.ПС);
|
||||
Текст.ЗаписатьСтроку("HelloWorld", Символы.ПС);
|
||||
Текст.Закрыть();
|
||||
|
||||
КонецПроцедуры
|
||||
|
1
tests/fixtures/ЗащищенныеФайлы/Module.bsl
vendored
Normal file
1
tests/fixtures/ЗащищенныеФайлы/Module.bsl
vendored
Normal file
@ -0,0 +1 @@
|
||||
���
|
@ -23,6 +23,7 @@
|
||||
ВсеТесты.Добавить("СортировкаСостава_ExchangePlans");
|
||||
ВсеТесты.Добавить("СортировкаСостава_FunctionalOptions");
|
||||
ВсеТесты.Добавить("СортировкаСостава_Subsystems");
|
||||
ВсеТесты.Добавить("ТипыФайлов_ЗащищенныеМодулиНеОпределяютсяКакФайлИсходников");
|
||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСинхронизацияОбъектовМетаданныхВызываетИсключениеEDT");
|
||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурВызываетИсключение");
|
||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурОбработаетФайл");
|
||||
@ -143,6 +144,18 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ТипыФайлов
|
||||
|
||||
Процедура ТипыФайлов_ЗащищенныеМодулиНеОпределяютсяКакФайлИсходников() Экспорт
|
||||
ПутьКФайлу = ОбъединитьПути(КаталогИсходников(), "tests\fixtures\ЗащищенныеФайлы", "Module.bsl");
|
||||
Файл = Новый Файл(ПутьКФайлу);
|
||||
|
||||
Результат = ТипыФайлов.ЭтоФайлИсходников(Файл);
|
||||
Ожидаем.Что(Результат, "Защищенный модуль не должен определяться как файл исходников").ЭтоЛожь();
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ИсправлениеНеКаноническогоНаписания
|
||||
|
||||
Процедура ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетФайл() Экспорт
|
||||
|
Loading…
Reference in New Issue
Block a user