Skip to content

Commit d2eb348

Browse files
committed
Обход ошибки 314 в OneScript
1 parent 908c7aa commit d2eb348

File tree

4 files changed

+63
-1
lines changed

4 files changed

+63
-1
lines changed

src/Классы/СборщикПакета.os

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@
161161

162162
Для Каждого ВключаемыйФайл Из ВключаемыеФайлы Цикл
163163
Сообщить("Добавляем файл: " + ВключаемыйФайл);
164-
АрхивЦелевойСистемы.Добавить(ВключаемыйФайл, РежимСохраненияПутейZIP.СохранятьОтносительныеПути, РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно);
164+
ПолныйПуть = Новый Файл(ВключаемыйФайл).ПолноеИмя;
165+
АрхивЦелевойСистемы.Добавить(ПолныйПуть, РежимСохраненияПутейZIP.СохранятьОтносительныеПути, РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно);
165166
КонецЦикла;
166167

167168
АрхивЦелевойСистемы.Записать();

tests/build-install-test.os

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#Использовать "../src"
2+
3+
Перем юТест;
4+
5+
Функция ПолучитьСписокТестов(Знач Тестирование) Экспорт
6+
7+
юТест = Тестирование;
8+
9+
ИменаТестов = Новый Массив;
10+
11+
ИменаТестов.Добавить("ТестДолжен_ПроверитьЧтоПакетСобранКорректно");
12+
13+
Возврат ИменаТестов;
14+
15+
КонецФункции
16+
17+
Процедура ПослеЗапускаТеста() Экспорт
18+
юТест.УдалитьВременныеФайлы();
19+
КонецПроцедуры
20+
21+
Процедура ТестДолжен_ПроверитьЧтоПакетСобранКорректно() Экспорт
22+
23+
Сборщик = Новый СборщикПакета;
24+
25+
КаталогСборки = юТест.ИмяВременногоФайла();
26+
Сообщить(КаталогСборки);
27+
СоздатьКаталог(КаталогСборки);
28+
Сборщик.СобратьПакет(ОбъединитьПути(ТекущийСценарий().Каталог, "testpackage"), Неопределено, КаталогСборки);
29+
30+
ФайлПакета = Новый Файл(ОбъединитьПути(КаталогСборки, "test-0.3.1.ospx"));
31+
32+
юТест.ПроверитьИстину(ФайлПакета.Существует(), "Файл пакета должен существовать");
33+
ЧтениеАрхива = Новый ЧтениеZipФайла(ФайлПакета.ПолноеИмя);
34+
35+
ЭлементСодержимого = ЧтениеАрхива.Элементы.Найти("content.zip");
36+
ЭлементМанифеста = ЧтениеАрхива.Элементы.Найти("opm-metadata.xml");
37+
38+
юТест.ПроверитьНеравенство(Неопределено, ЭлементСодержимого);
39+
юТест.ПроверитьНеравенство(Неопределено, ЭлементМанифеста);
40+
41+
КаталогПроверки = ПолучитьИмяВременногоФайла();//юТест.ИмяВременногоФайла();
42+
Сообщить(КаталогПроверки);
43+
СоздатьКаталог(КаталогПроверки);
44+
45+
ЧтениеАрхива.Извлечь(ЭлементСодержимого, КаталогПроверки);
46+
ЧтениеАрхива.Закрыть();
47+
48+
ЧтениеАрхива = Новый ЧтениеZipФайла(ОбъединитьПути(КаталогПроверки, "content.zip"));
49+
ЧтениеАрхива.ИзвлечьВсе(КаталогПроверки);
50+
ЧтениеАрхива.Закрыть();
51+
ФайлИсходника = Новый Файл(ОбъединитьПути(КаталогПроверки, "folder/src.os"));
52+
юТест.ПроверитьИстину(ФайлИсходника.Существует(), "Существует файл в подкаталоге");
53+
54+
Сообщить(ФайлИсходника.ПолноеИмя);
55+
56+
КонецПроцедуры

tests/testpackage/folder/src.os

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
// ��������

tests/testpackage/packagedef

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+

2+
Описание.Имя("test")
3+
.Версия("0.3.1")
4+
.ВключитьФайл("folder/");

0 commit comments

Comments
 (0)