diff --git "a/features/lib/step_definitions/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\265\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\270.os" "b/features/lib/step_definitions/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\265\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\270.os" index ac9e46b..d88dd4e 100644 --- "a/features/lib/step_definitions/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\265\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\270.os" +++ "b/features/lib/step_definitions/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\265\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\270.os" @@ -36,6 +36,8 @@ ВсеШаги.Добавить("ЯСоздаюФайлВнутриКаталога"); ВсеШаги.Добавить("ФайлВнутриКаталогаСуществует"); ВсеШаги.Добавить("ФайлВнутриКаталогаНеСуществует"); + ВсеШаги.Добавить("ЯКопируюФайлВКаталог"); + ВсеШаги.Добавить("ЯКопируюФайлПроектаВКаталог"); ВсеШаги.Добавить("ЯКопируюФайлИзКаталогаПроектаВРабочийКаталог"); ВсеШаги.Добавить("ЯКопируюФайлИзКаталогаПроектаВПодкаталогРабочегоКаталога"); ВсеШаги.Добавить("ЯКопируюКаталогИзКаталогаПроектаВРабочийКаталог"); @@ -147,6 +149,49 @@ СоздатьФайлПример(НовыйПуть); КонецПроцедуры +//Я копирую файл "tests/fixtures/step_definitions/БезПараметров.os" в каталог "РабочийКаталог" +Процедура ЯКопируюФайлВКаталог(Знач ПутьФайла, Знач КаталогКуда) Экспорт + ПутьФайла = БДД.ПолучитьПутьФайлаСУчетомПеременныхКонтекста(ПутьФайла); + ПутьФайла = ЗаменитьШаблоныВПараметрахКоманды(ПутьФайла); + + КаталогКуда = БДД.ПолучитьПутьФайлаСУчетомПеременныхКонтекста(КаталогКуда); + КаталогКуда = ЗаменитьШаблоныВПараметрахКоманды(КаталогКуда); + + ФайлСуществует(ПутьФайла); + + Лог.Отладка("ПутьФайла %1", ПутьФайла); + Лог.Отладка("КаталогКуда %1", КаталогКуда); + + Файл = Новый Файл(ПутьФайла); + ИмяФайлаПриемника = ОбъединитьПути(КаталогКуда, Файл.Имя); + Лог.Отладка("ОбъединитьПути(ТекущийКаталог(), Файл.Имя) %1", ИмяФайлаПриемника); + + КопироватьФайл(ПутьФайла, ИмяФайлаПриемника); + + ФайлСуществует(ИмяФайлаПриемника); +КонецПроцедуры + +Процедура ЯКопируюФайлПроектаВКаталог(Знач ПутьФайла, Знач КаталогКуда) Экспорт + ПутьФайла = ОбъединитьПути(КаталогПроекта(), ПутьФайла); + + КаталогКуда = БДД.ПолучитьПутьФайлаСУчетомПеременныхКонтекста(КаталогКуда); + КаталогКуда = ЗаменитьШаблоныВПараметрахКоманды(КаталогКуда); + + ФайлСуществует(ПутьФайла); + + Лог.Отладка("ПутьФайла %1", ПутьФайла); + Лог.Отладка("КаталогПроекта() %1", КаталогПроекта()); + Лог.Отладка("КаталогКуда %1", КаталогКуда); + + Файл = Новый Файл(ПутьФайла); + ИмяФайлаПриемника = ОбъединитьПути(КаталогКуда, Файл.Имя); + Лог.Отладка("ОбъединитьПути(ТекущийКаталог(), Файл.Имя) %1", ИмяФайлаПриемника); + + КопироватьФайл(ПутьФайла, ИмяФайлаПриемника); + + ФайлСуществует(ИмяФайлаПриемника); +КонецПроцедуры + //Я копирую файл "fixture.epf" из каталога "tests" проекта в рабочий каталог Процедура ЯКопируюФайлИзКаталогаПроектаВРабочийКаталог(Знач ПутьФайла, Знач ПодКаталогПроекта) Экспорт ПутьФайла = БДД.ПолучитьПутьФайлаСУчетомПеременныхКонтекста(ПутьФайла); @@ -390,7 +435,8 @@ //Я показываю каталог проекта Процедура ЯПоказываюКаталогПроекта() Экспорт - Сообщить(БДД.ПолучитьИзКонтекста("КаталогПроекта")); + Сообщить("КаталогПроекта() " + КаталогПроекта()); + // Лог.Информация("КаталогПроекта() %1", КаталогПроекта()); КонецПроцедуры //Я показываю рабочий каталог @@ -496,6 +542,15 @@ Возврат БДД.ПолучитьИзКонтекста("РабочийКаталог"); КонецФункции +Функция КаталогПроекта() + Результат = БДД.ПолучитьИзКонтекста("КаталогПроекта"); + Если Не ЗначениеЗаполнено(Результат) Тогда + ЯСохраняюКаталогПроектаВКонтекст(); + Результат = БДД.ПолучитьИзКонтекста("КаталогПроекта"); + КонецЕсли; + Возврат БДД.ПолучитьИзКонтекста("КаталогПроекта"); +КонецФункции + Функция ПолучитьСтекТекущихКаталогов() СтекТекущихКаталогов = БДД.ПолучитьИзКонтекста("СтекТекущихКаталогов"); Если СтекТекущихКаталогов = Неопределено Тогда @@ -571,14 +626,24 @@ КаталогПроекта = БДД.КаталогПроверяемогоПроекта(); РабочийКаталог = РабочийКаталог(); + Лог.Отладка("ЗаменитьШаблоныВПараметрахКоманды ПараметрыКоманды %1", ПараметрыКоманды); + Рез = СтрЗаменить(ПараметрыКоманды, "<КаталогПроекта>", КаталогПроекта); Рез = СтрЗаменить(Рез, "<РабочийКаталог>", РабочийКаталог); + Если СтрНачинаетсяС(Рез, "КаталогПроекта") Тогда + Рез = СтрЗаменить(ПараметрыКоманды, "КаталогПроекта", КаталогПроекта); + КонецЕсли; + Если СтрНачинаетсяС(Рез, "РабочийКаталог") Тогда + Рез = СтрЗаменить(ПараметрыКоманды, "РабочийКаталог", РабочийКаталог); + КонецЕсли; Рез = СтрЗаменить(Рез, "<КаталогПроектаДвойныеСлеши>", ЗаменитьСлешиНаДвойныеСлеши(КаталогПроекта)); Рез = СтрЗаменить(Рез, "<РабочийКаталогДвойныеСлеши>", ЗаменитьСлешиНаДвойныеСлеши(РабочийКаталог)); Рез = СтрЗаменить(Рез, "<КаталогПроектаПрямыеСлеши>", ЗаменитьСлешиНаПрямыеСлеши(КаталогПроекта)); Рез = СтрЗаменить(Рез, "<РабочийКаталогПрямыеСлеши>", ЗаменитьСлешиНаПрямыеСлеши(РабочийКаталог)); + + Лог.Отладка("ЗаменитьШаблоныВПараметрахКоманды Рез %1", Рез); Возврат Рез; КонецФункции diff --git "a/features/lib/\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265 \321\204\320\260\320\271\320\273\320\276\320\262 \320\270 \320\272\320\260\321\202\320\260\320\273\320\276\320\263\320\276\320\262.feature" "b/features/lib/\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265 \321\204\320\260\320\271\320\273\320\276\320\262 \320\270 \320\272\320\260\321\202\320\260\320\273\320\276\320\263\320\276\320\262.feature" index 5af49fb..e071fa9 100644 --- "a/features/lib/\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265 \321\204\320\260\320\271\320\273\320\276\320\262 \320\270 \320\272\320\260\321\202\320\260\320\273\320\276\320\263\320\276\320\262.feature" +++ "b/features/lib/\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265 \321\204\320\260\320\271\320\273\320\276\320\262 \320\270 \320\272\320\260\321\202\320\260\320\273\320\276\320\263\320\276\320\262.feature" @@ -8,7 +8,6 @@ # Инициализация рабочего каталога и создание каталогов Контекст: - # Дано я включаю отладку лога с именем "bdd.tests" Допустим Я создаю временный каталог и сохраняю его в контекст И Я устанавливаю временный каталог как рабочий каталог @@ -18,6 +17,9 @@ Допустим Я создаю файл "folder0/file01.txt" в рабочем каталоге Дано Я создаю временный каталог и сохраняю его в переменной "СпециальныйКаталог" + И Я установил подкаталог "folder0" рабочего каталога как текущий каталог + # И Я восстановил предыдущий каталог + # Дано я включаю отладку лога с именем "bdd.tests" Сценарий: Копирование файлов Когда Я копирую файл "step_definitions/БезПараметров.os" из каталога "tests/fixtures" проекта в рабочий каталог @@ -32,3 +34,40 @@ Тогда В рабочем каталоге существует каталог "step_definitions" И В подкаталоге "folder0/folder01" рабочего каталога существует каталог "step_definitions" + +Сценарий: И Я копирую файл "ПутьФайла" из текущего каталога в подкаталог текущего каталога + Дано файл "../file01.txt" не существует + Когда Я копирую файл "file01.txt" в каталог ".." + + Тогда файл "../file01.txt" существует + Тогда файл "РабочийКаталог/file01.txt" существует + Тогда В рабочем каталоге существует файл "file01.txt" + +Сценарий: И Я копирую файл "ПутьФайла" из текущего каталога в рабочий каталог через спец.переменную "РабочийКаталог" + Когда Я копирую файл "file01.txt" в каталог "РабочийКаталог" + Тогда В рабочем каталоге существует файл "file01.txt" + +Сценарий: И Я копирую файл "ПутьФайла" в рабочий каталог через спец.переменную "РабочийКаталог" + Когда Я копирую файл "РабочийКаталог/folder0/file01.txt" в каталог "РабочийКаталог" + Тогда В рабочем каталоге существует файл "file01.txt" + +Сценарий: И Я копирую файл "ПутьФайла" из проекта в рабочий каталог через спец.переменные "КаталогПроекта" и "РабочийКаталог" + Когда Я копирую файл "КаталогПроекта/tests/fixtures/step_definitions/БезПараметров.os" в каталог "РабочийКаталог" + Тогда В рабочем каталоге существует файл "БезПараметров.os" + +Сценарий: И Я копирую файл "ПутьФайла" из проекта в рабочий каталог через спец.переменные "КаталогПроекта" и "СпециальныйКаталог" + Когда Я копирую файл "КаталогПроекта/tests/fixtures/step_definitions/БезПараметров.os" в каталог "СпециальныйКаталог" + Тогда файл "СпециальныйКаталог/БезПараметров.os" существует + +Сценарий: И Я копирую файл проекта "ПутьФайла" в рабочий каталог через спец.переменные "КаталогПроекта" и "РабочийКаталог" + И я показываю каталог проекта + Когда Я копирую файл проекта "tests/fixtures/step_definitions/БезПараметров.os" в каталог "РабочийКаталог" + Тогда В рабочем каталоге существует файл "БезПараметров.os" + +Сценарий: И Я копирую файл проекта "ПутьФайла" в рабочий каталог через спец.переменные "КаталогПроекта" и "СпециальныйКаталог" + Когда Я копирую файл проекта "tests/fixtures/step_definitions/БезПараметров.os" в каталог "СпециальныйКаталог" + Тогда файл "СпециальныйКаталог/БезПараметров.os" существует + +# Сценарий: И Я копирую файл "fixtures/ИмяФайла" в подкаталог рабочего каталога через спец.переменную "РабочийКаталог" +# Когда Я копирую файл "tests/fixtures/test-report.xml" в каталог "РабочийКаталог/folder0/folder01" +# И В подкаталоге "folder0/folder01" рабочего каталога существует файл "test-report.xml"