Skip to content

Commit 3aca269

Browse files
committed
Merge branch 'release/v2.2.0'
2 parents 6043f6d + 6dcdcb7 commit 3aca269

32 files changed

+1396
-244
lines changed

.gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,8 @@ target/
6363

6464
*.ospx
6565
oscript_modules/
66+
67+
#VSCode
68+
.vscode/
69+
bdd-log.xml
70+
tests.xml

README.md

+163-155
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd
2+
#Использовать 1commands
3+
#Использовать asserts
4+
5+
Перем БДД; //контекст фреймворка 1bdd
6+
Перем Лог;
7+
8+
// Метод выдает список шагов, реализованных в данном файле-шагов
9+
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
10+
БДД = КонтекстФреймворкаBDD;
11+
12+
ВсеШаги = Новый Массив;
13+
14+
ВсеШаги.Добавить("ЯЗаменяюВФайлеВРабочемКаталогеСтрокуНаСтроку");
15+
16+
Возврат ВсеШаги;
17+
КонецФункции
18+
19+
// Реализация шагов
20+
21+
// Процедура выполняется перед запуском каждого сценария
22+
Процедура ПередЗапускомСценария(Знач Узел) Экспорт
23+
24+
КонецПроцедуры
25+
26+
// Процедура выполняется после завершения каждого сценария
27+
Процедура ПослеЗапускаСценария(Знач Узел) Экспорт
28+
29+
КонецПроцедуры
30+
31+
// Я заменяю в файле "file.txt" в рабочем каталоге строку "строка поиска" на строку "строка замены"
32+
Процедура ЯЗаменяюВФайлеВРабочемКаталогеСтрокуНаСтроку(Знач ПутьФайла, Знач СтрокаПоиска, Знач СтрокаЗамены) Экспорт
33+
ПолныйПутьФайла = ОбъединитьПути(РабочийКаталог(), ПутьФайла);
34+
Чтение = Новый ЧтениеТекста(ПолныйПутьФайла, КодировкаТекста.UTF8NoBOM);
35+
Текст = Чтение.Прочитать();
36+
Текст = СтрЗаменить(Текст, СтрокаПоиска, СтрокаЗамены);
37+
Чтение.Закрыть();
38+
Запись = Новый ЗаписьТекста(ПолныйПутьФайла, КодировкаТекста.UTF8NoBOM);
39+
Запись.Записать(Текст);
40+
Запись.Закрыть();
41+
КонецПроцедуры
42+
43+
//{ Служебные методы
44+
45+
Функция РабочийКаталог()
46+
Возврат БДД.ПолучитьИзКонтекста("РабочийКаталог");
47+
КонецФункции
48+
49+
50+
//}
51+
52+
Лог = Логирование.ПолучитьЛог("bdd");
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# language: ru
2+
3+
Функционал: Выполнение строковых операций с файлами
4+
Как Пользователь
5+
Я хочу иметь возможность выполнять разные строковые операции с файлами
6+
Чтобы я мог проще тестировать фичи
7+
8+
Контекст:
9+
Допустим я создаю временный каталог и сохраняю его в контекст
10+
И я сохраняю каталог проекта в контекст
11+
И я устанавливаю временный каталог как рабочий каталог
12+
И я установил рабочий каталог как текущий каталог
13+
14+
Сценарий: Замена подстроки в файле
15+
Когда я копирую файл "fixture.txt" из каталога "tests" проекта в подкаталог "" рабочего каталога
16+
И я заменяю в файле "fixture.txt" в рабочем каталоге строку "строка поиска" на строку "строка замены"
17+
Тогда файл "fixture.txt" в рабочем каталоге содержит "строка замены"
18+
И файл "fixture.txt" в рабочем каталоге не содержит "строка поиска"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# language: ru
2+
3+
Функционал: Выполнение операций по разборке на исходники
4+
Как Пользователь
5+
Я хочу иметь возможность разбирать внешние файлы на исходники
6+
Чтобы я мог проще следить за изменениями в коде
7+
8+
Контекст:
9+
Допустим я создаю временный каталог и сохраняю его в контекст
10+
И я сохраняю каталог проекта в контекст
11+
И я устанавливаю временный каталог как рабочий каталог
12+
И я установил рабочий каталог как текущий каталог
13+
14+
Сценарий: Разборка файла из заданной папки
15+
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог>"
16+
Тогда в рабочем каталоге существует каталог "Fixture"
17+
И в подкаталоге "Fixture" рабочего каталога существует файл "renames.txt"
18+
И в подкаталоге "Fixture" рабочего каталога существует каталог "Form"
19+
И в подкаталоге "Fixture" рабочего каталога существует каталог "Макеты"
20+
И в подкаталоге "Fixture" рабочего каталога существует каталог "und"
21+
22+
Сценарий: Разборка макета из заданной папки
23+
Когда я создаю каталог "1" в рабочем каталоге
24+
И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога
25+
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1"
26+
Тогда в подкаталоге "1" рабочего каталогасуществует файл "Fixture_mxl.txt"
27+
28+
Сценарий: Разборка каталога с вложенными каталогами
29+
Когда я создаю каталог "bin" в рабочем каталоге
30+
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
31+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
32+
И я создаю каталог "src" в рабочем каталоге
33+
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src"
34+
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
35+
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
36+
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
37+
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
38+
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# language: ru
2+
3+
Функционал: Выполнение операций по разборке на исходники с помощью хука pre-commit
4+
Как Пользователь
5+
Я хочу иметь возможность разбирать внешние файлы на исходники с помощью хука pre-commit
6+
Чтобы я не делал вручную разборку при commit'е
7+
8+
Контекст:
9+
Допустим я создаю временный каталог и сохраняю его в контекст
10+
И я сохраняю каталог проекта в контекст
11+
И я устанавливаю временный каталог как рабочий каталог
12+
И я установил рабочий каталог как текущий каталог
13+
И Я выполняю команду "git" с параметрами 'init'
14+
И Я выполняю команду "git" с параметрами "config --local core.quotepath false"
15+
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install"
16+
17+
Сценарий: Разборка изменений по журналу Git с вложенными каталогами
18+
Когда я создаю каталог "1" в рабочем каталоге
19+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
20+
И я создаю каталог "src" в рабочем каталоге
21+
И я выполняю команду "git" с параметрами "add -A ."
22+
И я выполняю команду "git" с параметрами "status"
23+
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
24+
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
25+
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
26+
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
27+
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
28+
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
29+
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"
30+
31+
Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша
32+
Когда я создаю каталог "1" в рабочем каталоге
33+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
34+
И я создаю каталог "src" в рабочем каталоге
35+
И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src" на строку "v8files-extractor.os --git-precommit src --remove-orig-bin-files"
36+
И Файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --remove-orig-bin-files"
37+
И я выполняю команду "git" с параметрами "add -A ."
38+
И я выполняю команду "git" с параметрами "status"
39+
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
40+
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
41+
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
42+
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
43+
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
44+
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
45+
И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# language: ru
2+
3+
Функционал: Выполнение операций по разборке на исходники с помощью хука pre-commit
4+
Как Пользователь
5+
Я хочу иметь возможность разбирать внешние файлы на исходники с помощью хука pre-commit
6+
Чтобы я не делал вручную разборку при commit'е
7+
8+
Контекст:
9+
Допустим я создаю временный каталог и сохраняю его в контекст
10+
И я сохраняю каталог проекта в контекст
11+
И я устанавливаю временный каталог как рабочий каталог
12+
И я установил рабочий каталог как текущий каталог
13+
И Я выполняю команду "git" с параметрами 'init'
14+
И Я выполняю команду "git" с параметрами "config --local core.quotepath false"
15+
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install"
16+
И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src" на строку "v8files-extractor.os --git-precommit src --use-designer"
17+
18+
Сценарий: Разборка изменений по журналу Git с вложенными каталогами без указания информационной базы
19+
Когда я создаю каталог "1" в рабочем каталоге
20+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
21+
И я создаю каталог "src" в рабочем каталоге
22+
И я выполняю команду "git" с параметрами "add -A ."
23+
И я выполняю команду "git" с параметрами "status"
24+
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
25+
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
26+
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml"
27+
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture"
28+
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms"
29+
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates"
30+
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"
31+
32+
Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша без указания информационной базы
33+
Когда я создаю каталог "1" в рабочем каталоге
34+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
35+
И я создаю каталог "src" в рабочем каталоге
36+
И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src --use-designer" на строку "v8files-extractor.os --git-precommit src --use-designer --remove-orig-bin-files"
37+
И Файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer --remove-orig-bin-files"
38+
И я выполняю команду "git" с параметрами "add -A ."
39+
И я выполняю команду "git" с параметрами "status"
40+
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
41+
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
42+
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml"
43+
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture"
44+
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms"
45+
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates"
46+
И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"

0 commit comments

Comments
 (0)