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