From 9513b6d0875275a0d716b13b7cc718468cc1fa3d Mon Sep 17 00:00:00 2001 From: Aleksey Ko Date: Mon, 9 Dec 2024 14:11:06 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 30 +++++++++++++++++++ .../Module.bsl" | 13 ++++++++ 2 files changed, 43 insertions(+) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\320\265\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\320\265\320\271\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\320\265\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\320\265\320\271\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" index e92ca3a95..f9d63b2d8 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\320\265\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\320\265\320\271\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\320\265\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\320\265\320\271\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" @@ -39,6 +39,7 @@ ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикПроверкиСуществования"); ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикПроверкиКаталога"); ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикРезультатовПоиска"); + ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикПереместитьФайлы"); ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикПеремещения"); ПараметрыИсполнения.Цепочка.Добавить(Обработчик); @@ -83,6 +84,13 @@ Возврат; КонецЕсли; + ПараметрыПроверки = Новый Структура("Файлы, Индекс, Параметры", НайденныеФайлы, НайденныеФайлы.ВГраница(), Параметры); + ИсключитьКаталоги(Неопределено, ПараметрыПроверки); + +КонецПроцедуры + +Процедура ОбработчикПереместитьФайлы(НайденныеФайлы, Параметры) Экспорт + ФайлыДляПеремещения = Новый Массив(); Для Каждого Файл Из НайденныеФайлы Цикл @@ -94,6 +102,28 @@ КонецПроцедуры +Процедура ИсключитьКаталоги(ЭтоКаталог, ПараметрыПроверки) Экспорт + + Если ЭтоКаталог <> Неопределено Тогда + + Если ЭтоКаталог Тогда + ПараметрыПроверки.Файлы.Удалить(ПараметрыПроверки.Индекс); + КонецЕсли; + ПараметрыПроверки.Индекс = ПараметрыПроверки.Индекс - 1; + + КонецЕсли; + + Если ПараметрыПроверки.Индекс < 0 Тогда + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ПараметрыПроверки.Параметры, ПараметрыПроверки.Файлы); + Возврат; + КонецЕсли; + + Файл = ПараметрыПроверки.Файлы[ПараметрыПроверки.Индекс]; + Обработчик = Новый ОписаниеОповещения("ИсключитьКаталоги", ЭтотОбъект, ПараметрыПроверки); + ЮТФайлы.ЭтоКаталог(Файл.ПолноеИмя, Обработчик); + +КонецПроцедуры + Процедура ОбработчикПеремещения(ПомещенныеФайлы, Параметры) Экспорт Если НЕ ЗначениеЗаполнено(ПомещенныеФайлы) Тогда diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index de62d74f8..b3bad67c6 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -25,6 +25,7 @@ .ДобавитьТест("ДанныеЗависимости").ЗависитОт().ФайлыПроекта(".gitignore") .ДобавитьТест("ДанныеЗависимости_Каталог").ЗависитОт().ФайлыПроекта(".github") .ДобавитьТест("ДанныеЗависимости_НеизвестныйФайл").ЗависитОт().ФайлыПроекта("НеизвестныйФайл") + .ДобавитьТест("ДанныеЗависимости_ВложенныеКаталоги").ЗависитОт().ФайлыПроекта("fixtures/ВложенныеКаталоги") .ДобавитьСерверныйТест("ФабрикаJUnit").ЗависитОт().ФабрикаXDTO("fixtures/junit") ; @@ -89,6 +90,18 @@ КонецПроцедуры +Процедура ДанныеЗависимости_ВложенныеКаталоги() Экспорт + + ПолноеИмя = ЮТест.Зависимость(ЮТЗависимости.ФайлыПроекта("fixtures/ВложенныеКаталоги")).ПолноеИмя; + ЮТест.ОжидаетЧто(ЮТФайлы.Существует(ПолноеИмя), "Каталог проекта не доступен: " + ПолноеИмя) + .ЭтоИстина(); + + ЮТест.ОжидаетЧто(ЮТФайлы.Существует(ЮТФайлы.ОбъединитьПути(ПолноеИмя, "1.txt")), "Не найден файл 1.txt") + .ЭтоИстина(); + ЮТест.ОжидаетЧто(ЮТФайлы.Существует(ЮТФайлы.ОбъединитьПути(ПолноеИмя, "Каталог", "2.txt")), "Не найден файл 2.txt") + .ЭтоИстина(); +КонецПроцедуры + Процедура ФабрикаJUnit() Экспорт Фабрика = ЮТест.Зависимость(ЮТЗависимости.ФабрикаXDTO("fixtures/junit")).Фабрика;