1
0
mirror of https://github.com/bia-technologies/precommit4onec.git synced 2024-12-30 21:19:59 +02:00
precommit4onec/features/ИнтерактивнаяНастройка.feature

91 lines
5.1 KiB
Gherkin

# language: ru
Функциональность: Интерактивная настройка конфигурации прекоммита
Как разработчик
Я хочу иметь возможность изменять настройки precommit4onec
Чтобы автоматически выполнять обработку исходников перед фиксацией изменений в репозитории
Контекст:
Допустим Я очищаю параметры команды "oscript" в контексте
И я очищаю параметры команды "git" в контексте
И Я устанавливаю кодировку вывода "utf-8" команды "git"
И я включаю отладку лога с именем "oscript.app.precommit4onec"
И я создаю временный каталог и запоминаю его как "КаталогРепозиториев"
И я переключаюсь во временный каталог "КаталогРепозиториев"
И я создаю новый репозиторий без инициализации "rep1" в каталоге "КаталогРепозиториев" и запоминаю его как "РабочийКаталог"
# И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os install rep1"
И я установил рабочий каталог как текущий каталог
Сценарий: Настройки глобальных сценариев
Когда Я создаю файл "answers.txt" в кодировке "cp866" с текстом
"""
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
local
n
"""
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os configure -rep-path ./ -config < answers.txt"
Тогда Код возврата команды "oscript" равен 0
И Я сообщаю вывод команды "oscript"
И Файл "v8config.json" содержит '"ИспользоватьСценарииРепозитория": true'
И Файл "v8config.json" содержит '"КаталогЛокальныхСценариев": "local"'
И Файл "v8config.json" содержит '"ГлобальныеСценарии": ['
И Файл "v8config.json" содержит '"ВставкаКопирайтов.os"'
И Файл "v8config.json" содержит '"ДобавлениеПробеловПередКлючевымиСловами.os"'
И Файл "v8config.json" содержит '"ЗапретИспользованияПерейти.os"'
И Файл "v8config.json" содержит '"ИсправлениеНеКаноническогоНаписания.os"'
И Файл "v8config.json" содержит '"КорректировкаXMLФорм.os"'
И Файл "v8config.json" содержит '"ОбработкаЮнитТестов.os"'
И Файл "v8config.json" содержит '"ОтключениеПолнотекстовогоПоиска.os"'
И Файл "v8config.json" содержит '"ОтключениеРазрешенияИзменятьФорму.os"'
И Файл "v8config.json" содержит '"ПроверкаДублейПроцедурИФункций.os"'
И Файл "v8config.json" содержит '"ПроверкаКорректностиИнструкцийПрепроцессора.os"'
И Файл "v8config.json" содержит '"ПроверкаКорректностиОбластей.os"'
И Файл "v8config.json" содержит '"ПроверкаНецензурныхСлов.os"'
И Файл "v8config.json" содержит '"РазборОбычныхФормНаИсходники.os"'
И Файл "v8config.json" содержит '"РазборОтчетовОбработокРасширений.os"'
И Файл "v8config.json" содержит '"СинхронизацияОбъектовМетаданныхИФайлов.os"'
И Файл "v8config.json" содержит '"СортировкаСостава.os"'
И Файл "v8config.json" содержит '"УдалениеДублейМетаданных.os"'
И Файл "v8config.json" содержит '"УдалениеЛишнихКонцевыхПробелов.os"'
И Файл "v8config.json" содержит '"УдалениеЛишнихПустыхСтрок.os"'
Сценарий: Настройки подпроекта
Когда Я создаю файл "answers.txt" в кодировке "cp866" с текстом
"""
n
n
n
y
tests
n
n
n
n
"""
И Я создаю каталог "tests" в рабочем каталоге
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os configure -rep-path ./ -config < answers.txt"
И Я сообщаю вывод команды "oscript"
Тогда Код возврата команды "oscript" равен 0
И Файл "v8config.json" содержит "tests"