Skip to content

Commit 2f33d7f

Browse files
committed
Добавлен тест разбора обработок с удалением бинарных файлов из индекса git
1 parent 31e9218 commit 2f33d7f

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

tests/v8files-extractor-test.os

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
ВсеТесты.Добавить("Тест_ДолженСоздатьРепозитарийГит");
2424
ВсеТесты.Добавить("Тест_ДолженПроверитьНастройкиРепозитарияГит");
2525
ВсеТесты.Добавить("Тест_ДолженОбработатьИзмененияИзГитДляКаталогаСВложеннымиКаталогами");
26+
ВсеТесты.Добавить("Тест_ДолженОбработатьИзмененияИзГитДляКаталогаСВложеннымиКаталогамиИУдалитьИзКеша");
2627
ВсеТесты.Добавить("Тест_ДолженСобратьФайлОбработкиИзЗаданнойПапки");
2728

2829
Возврат ВсеТесты;
@@ -170,6 +171,75 @@
170171

171172
КонецПроцедуры
172173

174+
Процедура Тест_ДолженОбработатьИзмененияИзГитДляКаталогаСВложеннымиКаталогамиИУдалитьИзКеша() Экспорт
175+
176+
КаталогПроекта = КаталогПроекта();
177+
178+
КаталогВыгрузки = ВременныеФайлы.СоздатьКаталог();
179+
180+
СоздатьРепозитарийГит(КаталогВыгрузки, КаталогПроекта);
181+
182+
КаталогХуков = ОбъединитьПути(КаталогВыгрузки, ".git", "hooks");
183+
ПутьКФайлуПрекоммит = ОбъединитьПути(КаталогХуков, "pre-commit");
184+
ТекстПрекоммит = Новый ТекстовыйДокумент;
185+
ТекстПрекоммит.Прочитать(ПутьКФайлуПрекоммит);
186+
187+
КоличествоСтрок = ТекстПрекоммит.КоличествоСтрок();
188+
Для сч = 1 По КоличествоСтрок Цикл
189+
190+
Строка = ТекстПрекоммит.ПолучитьСтроку(сч);
191+
ЭтоСтрокаЗапускаРаспаковщика = СтрНайти(Строка, "v8files-extractor.os --git-precommit") > 0;
192+
Если ЭтоСтрокаЗапускаРаспаковщика Тогда
193+
Строка = Строка + " --remove-orig-bin-files";
194+
ТекстПрекоммит.ЗаменитьСтроку(сч, Строка);
195+
Прервать;
196+
КонецЕсли;
197+
198+
КонецЦикла;
199+
ТекстПрекоммит.Записать(ПутьКФайлуПрекоммит, КодировкаТекста.UTF8NoBOM);
200+
201+
ФайлОбработки = ПолучитьФайлТестовойОбработки();
202+
203+
ИмяВложенногоКаталога = "1";
204+
205+
КаталогИсходников = ВременныеФайлы.СоздатьКаталог();
206+
207+
ВложенныйКаталогВыгрузки = ОбъединитьПути(КаталогВыгрузки, ИмяВложенногоКаталога);
208+
СоздатьКаталог(ВложенныйКаталогВыгрузки);
209+
210+
ПутьВложеннойОбработки = ОбъединитьПути(ВложенныйКаталогВыгрузки, ФайлОбработки.Имя);
211+
Лог.Отладка("ПутьВложеннойОбработки "+ПутьВложеннойОбработки);
212+
213+
КопироватьФайл(ФайлОбработки.ПолноеИмя, ПутьВложеннойОбработки);
214+
215+
ФайлВложеннойОбработки = Новый Файл(ПутьВложеннойОбработки);
216+
Ожидаем.Что(ФайлВложеннойОбработки.Существует(), "Должны были найти имя вложенной обработки").ЭтоИстина();
217+
Ожидаем.Что(ФайлВложеннойОбработки.ЭтоФайл(), "Должны были найти признак файла для вложенной обработки").ЭтоИстина();
218+
219+
КомандаГит = "git add -A .";
220+
ВыполнитьКомандуГит(КомандаГит);
221+
222+
КомандаГит = "git status";
223+
ВыполнитьКомандуГит(КомандаГит);
224+
225+
КомандаГит = "git commit -m ""init commit""";
226+
ВыводКоманды = ВыполнитьКомандуГит(КомандаГит);
227+
228+
// git использует "/" как разделитель каталогов, а не стандартный разделитель пути ОС
229+
СтрокаПоиска = "create mode 100644 " + ИмяВложенногоКаталога + "/" + ФайлОбработки.Имя;
230+
ФайлУдаленИзИндексаГит = СтрНайти(ВыводКоманды, СтрокаПоиска) = 0;
231+
Ожидаем.Что(ФайлУдаленИзИндексаГит, "ожидаем, что файла обработки удален из индекса git").ЭтоИстина();
232+
233+
КаталогИсходниковВложенногоКаталога = ОбъединитьПути(КаталогВыгрузки, "src", ИмяВложенногоКаталога);
234+
ФайлКаталогИсходниковВложенногоКаталога = Новый Файл(КаталогИсходниковВложенногоКаталога);
235+
Ожидаем.Что(ФайлКаталогИсходниковВложенногоКаталога.Существует(), "Должны были найти имя вложенного каталога").ЭтоИстина();
236+
Ожидаем.Что(ФайлКаталогИсходниковВложенногоКаталога.ЭтоКаталог(), "Должны были найти вложенный каталог").ЭтоИстина();
237+
238+
ПутьКаталогаВыгрузкиДляОбработки = ОбъединитьПути(КаталогИсходниковВложенногоКаталога, ФайлОбработки.ИмяБезРасширения);
239+
Ожидаем.Что(КаталогСодержитИсходникиОбработки(ПутьКаталогаВыгрузкиДляОбработки), "ожидаем, что КаталогСодержитИсходникиОбработки(ПутьКаталогаВыгрузкиДляОбработки) это Истина").ЭтоИстина();
240+
241+
КонецПроцедуры
242+
173243
Процедура Тест_ДолженРазобратьФайлыПоЖурналуИзмененийГит() Экспорт
174244

175245
ФайлОбработки = ПолучитьФайлТестовойОбработки();

0 commit comments

Comments
 (0)