Skip to content

Commit

Permalink
Merge branch 'release/v2.2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
artbear committed Jan 26, 2019
2 parents 6043f6d + 6dcdcb7 commit 3aca269
Show file tree
Hide file tree
Showing 32 changed files with 1,396 additions and 244 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,8 @@ target/

*.ospx
oscript_modules/

#VSCode
.vscode/
bdd-log.xml
tests.xml
318 changes: 163 additions & 155 deletions README.md

Large diffs are not rendered by default.

52 changes: 52 additions & 0 deletions features/step_definitions/СтроковыеОперации.os
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd
#Использовать 1commands
#Использовать asserts

Перем БДД; //контекст фреймворка 1bdd
Перем Лог;

// Метод выдает список шагов, реализованных в данном файле-шагов
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
БДД = КонтекстФреймворкаBDD;

ВсеШаги = Новый Массив;

ВсеШаги.Добавить("ЯЗаменяюВФайлеВРабочемКаталогеСтрокуНаСтроку");

Возврат ВсеШаги;
КонецФункции

// Реализация шагов

// Процедура выполняется перед запуском каждого сценария
Процедура ПередЗапускомСценария(Знач Узел) Экспорт

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

// Процедура выполняется после завершения каждого сценария
Процедура ПослеЗапускаСценария(Знач Узел) Экспорт

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

// Я заменяю в файле "file.txt" в рабочем каталоге строку "строка поиска" на строку "строка замены"
Процедура ЯЗаменяюВФайлеВРабочемКаталогеСтрокуНаСтроку(Знач ПутьФайла, Знач СтрокаПоиска, Знач СтрокаЗамены) Экспорт
ПолныйПутьФайла = ОбъединитьПути(РабочийКаталог(), ПутьФайла);
Чтение = Новый ЧтениеТекста(ПолныйПутьФайла, КодировкаТекста.UTF8NoBOM);
Текст = Чтение.Прочитать();
Текст = СтрЗаменить(Текст, СтрокаПоиска, СтрокаЗамены);
Чтение.Закрыть();
Запись = Новый ЗаписьТекста(ПолныйПутьФайла, КодировкаТекста.UTF8NoBOM);
Запись.Записать(Текст);
Запись.Закрыть();
КонецПроцедуры

//{ Служебные методы

Функция РабочийКаталог()
Возврат БДД.ПолучитьИзКонтекста("РабочийКаталог");
КонецФункции


//}

Лог = Логирование.ПолучитьЛог("bdd");
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# language: ru

Функционал: Выполнение строковых операций с файлами
Как Пользователь
Я хочу иметь возможность выполнять разные строковые операции с файлами
Чтобы я мог проще тестировать фичи

Контекст:
Допустим я создаю временный каталог и сохраняю его в контекст
И я сохраняю каталог проекта в контекст
И я устанавливаю временный каталог как рабочий каталог
И я установил рабочий каталог как текущий каталог

Сценарий: Замена подстроки в файле
Когда я копирую файл "fixture.txt" из каталога "tests" проекта в подкаталог "" рабочего каталога
И я заменяю в файле "fixture.txt" в рабочем каталоге строку "строка поиска" на строку "строка замены"
Тогда файл "fixture.txt" в рабочем каталоге содержит "строка замены"
И файл "fixture.txt" в рабочем каталоге не содержит "строка поиска"
38 changes: 38 additions & 0 deletions features/РазборкаНаИсходники.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# language: ru

Функционал: Выполнение операций по разборке на исходники
Как Пользователь
Я хочу иметь возможность разбирать внешние файлы на исходники
Чтобы я мог проще следить за изменениями в коде

Контекст:
Допустим я создаю временный каталог и сохраняю его в контекст
И я сохраняю каталог проекта в контекст
И я устанавливаю временный каталог как рабочий каталог
И я установил рабочий каталог как текущий каталог

Сценарий: Разборка файла из заданной папки
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог>"
Тогда в рабочем каталоге существует каталог "Fixture"
И в подкаталоге "Fixture" рабочего каталога существует файл "renames.txt"
И в подкаталоге "Fixture" рабочего каталога существует каталог "Form"
И в подкаталоге "Fixture" рабочего каталога существует каталог "Макеты"
И в подкаталоге "Fixture" рабочего каталога существует каталог "und"

Сценарий: Разборка макета из заданной папки
Когда я создаю каталог "1" в рабочем каталоге
И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1"
Тогда в подкаталоге "1" рабочего каталогасуществует файл "Fixture_mxl.txt"

Сценарий: Разборка каталога с вложенными каталогами
Когда я создаю каталог "bin" в рабочем каталоге
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src"
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
45 changes: 45 additions & 0 deletions features/РазборкаНаИсходникиGit.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# language: ru

Функционал: Выполнение операций по разборке на исходники с помощью хука pre-commit
Как Пользователь
Я хочу иметь возможность разбирать внешние файлы на исходники с помощью хука pre-commit
Чтобы я не делал вручную разборку при commit'е

Контекст:
Допустим я создаю временный каталог и сохраняю его в контекст
И я сохраняю каталог проекта в контекст
И я устанавливаю временный каталог как рабочий каталог
И я установил рабочий каталог как текущий каталог
И Я выполняю команду "git" с параметрами 'init'
И Я выполняю команду "git" с параметрами "config --local core.quotepath false"
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install"

Сценарий: Разборка изменений по журналу Git с вложенными каталогами
Когда я создаю каталог "1" в рабочем каталоге
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
И я выполняю команду "git" с параметрами "add -A ."
И я выполняю команду "git" с параметрами "status"
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"

Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша
Когда я создаю каталог "1" в рабочем каталоге
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src" на строку "v8files-extractor.os --git-precommit src --remove-orig-bin-files"
И Файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --remove-orig-bin-files"
И я выполняю команду "git" с параметрами "add -A ."
И я выполняю команду "git" с параметрами "status"
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# language: ru

Функционал: Выполнение операций по разборке на исходники с помощью хука pre-commit
Как Пользователь
Я хочу иметь возможность разбирать внешние файлы на исходники с помощью хука pre-commit
Чтобы я не делал вручную разборку при commit'е

Контекст:
Допустим я создаю временный каталог и сохраняю его в контекст
И я сохраняю каталог проекта в контекст
И я устанавливаю временный каталог как рабочий каталог
И я установил рабочий каталог как текущий каталог
И Я выполняю команду "git" с параметрами 'init'
И Я выполняю команду "git" с параметрами "config --local core.quotepath false"
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install"
И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src" на строку "v8files-extractor.os --git-precommit src --use-designer"

Сценарий: Разборка изменений по журналу Git с вложенными каталогами без указания информационной базы
Когда я создаю каталог "1" в рабочем каталоге
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
И я выполняю команду "git" с параметрами "add -A ."
И я выполняю команду "git" с параметрами "status"
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture"
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms"
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates"
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"

Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша без указания информационной базы
Когда я создаю каталог "1" в рабочем каталоге
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src --use-designer" на строку "v8files-extractor.os --git-precommit src --use-designer --remove-orig-bin-files"
И Файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer --remove-orig-bin-files"
И я выполняю команду "git" с параметрами "add -A ."
И я выполняю команду "git" с параметрами "status"
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture"
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms"
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates"
И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"
Loading

0 comments on commit 3aca269

Please sign in to comment.