mirror of
https://github.com/bia-technologies/precommit4onec.git
synced 2025-05-15 22:06:29 +02:00
ORAIS-1536: Исключить из проверки модули без исходных кодов.
This commit is contained in:
parent
1b745d0eca
commit
f65039d65f
@ -16,7 +16,23 @@
|
|||||||
//
|
//
|
||||||
Функция ЭтоФайлИсходников(Файл) Экспорт
|
Функция ЭтоФайлИсходников(Файл) Экспорт
|
||||||
|
|
||||||
Возврат СтрСравнить(Файл.Расширение, ".bsl") = 0 Или СтрСравнить(Файл.Расширение, ".os") = 0;
|
Если СтрСравнить(Файл.Расширение, ".bsl") = 0 Тогда
|
||||||
|
МаркерЗащищенногоМодуля = СтрРазделить("255 255 255 127", " ");
|
||||||
|
Буфер = ФайловыеОперации.ПрочитатьДвоичныеДанные(Файл.ПолноеИмя, МаркерЗащищенногоМодуля.Количество());
|
||||||
|
|
||||||
|
Сч = 0;
|
||||||
|
Для Каждого Байт ИЗ Буфер Цикл
|
||||||
|
Если МаркерЗащищенногоМодуля[Сч] <> Строка(Байт) Тогда
|
||||||
|
Возврат Истина;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Сч = Сч + 1;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Ложь;
|
||||||
|
Иначе
|
||||||
|
Возврат СтрСравнить(Файл.Расширение, ".os") = 0;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@ -267,11 +283,11 @@
|
|||||||
Возврат СтрСравнить(Файл.Имя, "RecordSetModule.bsl") = 0;
|
Возврат СтрСравнить(Файл.Имя, "RecordSetModule.bsl") = 0;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// По косвенным признакам опрделеяет принадлежность анализируемого файла к заимствованному в расширение
|
// По косвенным признакам определеяет принадлежность анализируемого файла к заимствованному в расширение
|
||||||
Функция ЭтоФайлЗаимствованногоОбъектаРасширения(Файл) Экспорт
|
Функция ЭтоФайлЗаимствованногоОбъектаРасширения(Файл) Экспорт
|
||||||
Результат = Ложь;
|
Результат = Ложь;
|
||||||
|
|
||||||
Если НЕ (Файл.Существует() И Файл.ЭтоФайл())Тогда
|
Если НЕ (Файл.Существует() И Файл.ЭтоФайл()) Тогда
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
@ -88,11 +88,8 @@
|
|||||||
Возврат Кодировка;
|
Возврат Кодировка;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
МаркерUTFBOM = СтрРазделить("239 187 191", " ");
|
МаркерUTFBOM = СтрРазделить("239 187 191", " ");
|
||||||
ЧтениеДанных = Новый ЧтениеДанных(ПутьКФайлу);
|
Буфер = ПрочитатьДвоичныеДанные(ПутьКФайлу, МаркерUTFBOM.Количество());
|
||||||
Буфер = Новый БуферДвоичныхДанных(МаркерUTFBOM.Количество());
|
|
||||||
ЧтениеДанных.ПрочитатьВБуферДвоичныхДанных(Буфер, , МаркерUTFBOM.Количество());
|
|
||||||
ЧтениеДанных.Закрыть();
|
|
||||||
|
|
||||||
Сч = 0;
|
Сч = 0;
|
||||||
Для Каждого Байт ИЗ Буфер Цикл
|
Для Каждого Байт ИЗ Буфер Цикл
|
||||||
@ -109,6 +106,24 @@
|
|||||||
|
|
||||||
КонецФункции // ОпределитьКодировку
|
КонецФункции // ОпределитьКодировку
|
||||||
|
|
||||||
|
// Читает двоичные данные файла и возвращает их в объекте БуферДвоичныхДанных.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПутьКФайлу - Строка - Полный путь к файлу;
|
||||||
|
// Размер - Число - Количество байт, которое нужно прочитать из файла.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// БуферДвоичныхДанных - прочитанные данные файла
|
||||||
|
//
|
||||||
|
Функция ПрочитатьДвоичныеДанные(ПутьКФайлу, Размер) Экспорт
|
||||||
|
ЧтениеДанных = Новый ЧтениеДанных(ПутьКФайлу);
|
||||||
|
Буфер = Новый БуферДвоичныхДанных(Размер);
|
||||||
|
ЧтениеДанных.ПрочитатьВБуферДвоичныхДанных(Буфер, , Размер);
|
||||||
|
ЧтениеДанных.Закрыть();
|
||||||
|
|
||||||
|
Возврат Буфер;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Возвращает путь файла относительно корневого каталога
|
// Возвращает путь файла относительно корневого каталога
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
Текст = Новый ЗаписьТекста();
|
Текст = Новый ЗаписьТекста();
|
||||||
Текст.Открыть(ПутьКФайлуМодуля, КодировкаТекста.UTF8NoBOM);
|
Текст.Открыть(ПутьКФайлуМодуля, КодировкаТекста.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");
|
ВсеТесты.Добавить("СортировкаСостава_ExchangePlans");
|
||||||
ВсеТесты.Добавить("СортировкаСостава_FunctionalOptions");
|
ВсеТесты.Добавить("СортировкаСостава_FunctionalOptions");
|
||||||
ВсеТесты.Добавить("СортировкаСостава_Subsystems");
|
ВсеТесты.Добавить("СортировкаСостава_Subsystems");
|
||||||
|
ВсеТесты.Добавить("ТипыФайлов_ЗащищенныеМодулиНеОпределяютсяКакФайлИсходников");
|
||||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСинхронизацияОбъектовМетаданныхВызываетИсключениеEDT");
|
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСинхронизацияОбъектовМетаданныхВызываетИсключениеEDT");
|
||||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурВызываетИсключение");
|
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурВызываетИсключение");
|
||||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурОбработаетФайл");
|
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурОбработаетФайл");
|
||||||
@ -143,6 +144,18 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ТипыФайлов
|
||||||
|
|
||||||
|
Процедура ТипыФайлов_ЗащищенныеМодулиНеОпределяютсяКакФайлИсходников() Экспорт
|
||||||
|
ПутьКФайлу = ОбъединитьПути(КаталогИсходников(), "tests\fixtures\ЗащищенныеФайлы", "Module.bsl");
|
||||||
|
Файл = Новый Файл(ПутьКФайлу);
|
||||||
|
|
||||||
|
Результат = ТипыФайлов.ЭтоФайлИсходников(Файл);
|
||||||
|
Ожидаем.Что(Результат, "Защищенный модуль не должен определяться как файл исходников").ЭтоЛожь();
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#Область ИсправлениеНеКаноническогоНаписания
|
#Область ИсправлениеНеКаноническогоНаписания
|
||||||
|
|
||||||
Процедура ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетФайл() Экспорт
|
Процедура ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетФайл() Экспорт
|
||||||
|
Loading…
x
Reference in New Issue
Block a user