mirror of
https://github.com/bia-technologies/precommit4onec.git
synced 2024-11-28 08:48:45 +02:00
Merge branch 'develop' into ONECICD-147
# Conflicts: # features/Конфигурирование.feature
This commit is contained in:
commit
5bcbe639e6
2
.gitignore
vendored
2
.gitignore
vendored
@ -2,5 +2,5 @@ bdd-log.xml
|
||||
*.ospx
|
||||
*.orig
|
||||
exec.log
|
||||
|
||||
.vscode
|
||||
/tests.xml
|
||||
|
@ -152,7 +152,8 @@
|
||||
Когда Я копирую файл "tests\fixtures\ИсправлениеНеКаноническогоНаписания.bsl" в каталог репозитория "РабочийКаталог"
|
||||
И я выполняю команду "git" с параметрами "add --all"
|
||||
И я выполняю команду "git" с параметрами "commit -m addFile"
|
||||
Тогда Вывод команды "git" содержит """
|
||||
Тогда Вывод команды "git" не содержит "В строке 92 найдено ключевое слово"
|
||||
И Вывод команды "git" содержит """
|
||||
ИНФОРМАЦИЯ - В строке 5 найдено ключевое слово '#область' заменено на '#Область'
|
||||
ИНФОРМАЦИЯ - В строке 7 найдено ключевое слово 'ПЕРЕМ' заменено на 'Перем'
|
||||
ИНФОРМАЦИЯ - В строке 8 найдено ключевое слово 'перем' заменено на 'Перем'
|
||||
|
@ -10,7 +10,7 @@
|
||||
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os configure -global"
|
||||
Тогда Код возврата команды "oscript" равен 0
|
||||
И Я сообщаю вывод команды "oscript"
|
||||
И Вывод команды "oscript" содержит "precommit4onec v1.20"
|
||||
И Вывод команды "oscript" содержит "precommit4onec v1.20.1"
|
||||
И Вывод команды "oscript" содержит "Установленные настройки:"
|
||||
И Вывод команды "oscript" содержит "ИспользоватьСценарииРепозитория ="
|
||||
И Вывод команды "oscript" содержит "КаталогЛокальныхСценариев ="
|
||||
@ -36,7 +36,7 @@
|
||||
И Я сообщаю вывод команды "oscript"
|
||||
И Вывод команды "oscript" содержит
|
||||
"""
|
||||
precommit4onec v1.20
|
||||
precommit4onec v1.20.1
|
||||
Установленные настройки: Precommit4onecСценарии
|
||||
ИспользоватьСценарииРепозитория = Нет
|
||||
КаталогЛокальныхСценариев =
|
||||
|
@ -14,7 +14,7 @@
|
||||
Сценарий: Получение версии продукта
|
||||
Когда Я выполняю команду "oscript" с параметрами "src/main.os version"
|
||||
Тогда Я сообщаю вывод команды "oscript"
|
||||
И Вывод команды "oscript" содержит "1.20"
|
||||
И Вывод команды "oscript" содержит "1.20.1"
|
||||
И Вывод команды "oscript" не содержит "precommit4onec v"
|
||||
И Код возврата команды "oscript" равен 0
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
Когда Я выполняю команду "oscript" с параметрами "src/main.os help"
|
||||
Тогда Вывод команды "oscript" содержит
|
||||
"""
|
||||
precommit4onec v1.20
|
||||
precommit4onec v1.20.1
|
||||
Возможные команды:
|
||||
help - Выводит справку по командам
|
||||
version - Выводит версию приложения
|
||||
@ -36,7 +36,7 @@
|
||||
Когда Я выполняю команду "oscript" с параметрами "src/main.os"
|
||||
Тогда Вывод команды "oscript" содержит
|
||||
"""
|
||||
precommit4onec v1.20
|
||||
precommit4onec v1.20.1
|
||||
Возможные команды:
|
||||
help - Выводит справку по командам
|
||||
version - Выводит версию приложения
|
||||
|
@ -18,7 +18,7 @@
|
||||
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os install rep1"
|
||||
Тогда Код возврата команды "oscript" равен 0
|
||||
И Я сообщаю вывод команды "oscript"
|
||||
И Вывод команды "oscript" содержит "precommit4onec v1.20"
|
||||
И Вывод команды "oscript" содержит "precommit4onec v1.20.1"
|
||||
И Вывод команды "oscript" содержит "Pre-commit hook для rep1 создан"
|
||||
И В каталоге ".git/hooks" репозитория "Репозиторий1" есть файл "pre-commit"
|
||||
|
||||
@ -28,14 +28,14 @@
|
||||
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os install ./"
|
||||
Тогда Код возврата команды "oscript" равен 0
|
||||
И Я сообщаю вывод команды "oscript"
|
||||
И Вывод команды "oscript" содержит "precommit4onec v1.20"
|
||||
И Вывод команды "oscript" содержит "precommit4onec v1.20.1"
|
||||
И Вывод команды "oscript" содержит "не является репозиторием git"
|
||||
|
||||
Сценарий: Установка precommit4onec во вложенные каталоги
|
||||
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os install ./ -r"
|
||||
Тогда Код возврата команды "oscript" равен 0
|
||||
И Я сообщаю вывод команды "oscript"
|
||||
И Вывод команды "oscript" содержит "precommit4onec v1.20"
|
||||
И Вывод команды "oscript" содержит "precommit4onec v1.20.1"
|
||||
И В каталоге ".git/hooks" репозитория "Репозиторий1" есть файл "pre-commit"
|
||||
И В каталоге ".git/hooks" репозитория "Репозиторий2" есть файл "pre-commit"
|
||||
|
||||
@ -51,6 +51,6 @@
|
||||
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os install ./ -r"
|
||||
Тогда Код возврата команды "oscript" равен 0
|
||||
И Я сообщаю вывод команды "oscript"
|
||||
И Вывод команды "oscript" содержит "precommit4onec v1.20"
|
||||
И Вывод команды "oscript" содержит "precommit4onec v1.20.1"
|
||||
И В каталоге ".git/hooks" репозитория "Репозиторий1" есть файл "pre-commit"
|
||||
И В каталоге ".git/hooks" репозитория "Репозиторий2" есть файл "pre-commit"
|
||||
|
@ -22,7 +22,7 @@
|
||||
//
|
||||
Функция ВерсияПродукта() Экспорт
|
||||
|
||||
Возврат "1.20";
|
||||
Возврат "1.20.1";
|
||||
|
||||
КонецФункции // ВерсияПродукта
|
||||
|
||||
|
@ -102,9 +102,9 @@
|
||||
КонецЕсли;
|
||||
|
||||
// Вырезаем часть строки в кавычках
|
||||
ПоследняяПозиция = 0;
|
||||
ПозицияКавычек = СтрНайти(НоваяСтрокаМодуля, """");
|
||||
|
||||
ПозицияКавычек = СтрНайти(НоваяСтрокаМодуля, """");
|
||||
ПоследняяПозиция = 0;
|
||||
НоваяСтрокаМодуля = ВырезатьТекстВКавычках(НоваяСтрокаМодуля, ПозицияКавычек, ПоследняяПозиция, СтрокаОткрыта);
|
||||
|
||||
// ничего интересного не осталось
|
||||
@ -119,8 +119,6 @@
|
||||
// Проверяем правильное использование каждого ключевого слова
|
||||
ВРегНоваяСтрокаМодуля = НормализоватьСтроку(НоваяСтрокаМодуля, ЗаменяемыеСимволы);
|
||||
|
||||
ДлинаСтроки = СтрДлина(ВРегНоваяСтрокаМодуля);
|
||||
|
||||
Для Каждого ЭлементТаблицы Из КлючевыеСлова Цикл
|
||||
Эталон = ЭлементТаблицы.Наименование;
|
||||
ПозицияЭталона = СтрНайти(ВРегНоваяСтрокаМодуля, " " + Эталон + " ");
|
||||
@ -158,7 +156,6 @@
|
||||
КонецЦикла;
|
||||
|
||||
Если НовоеСодержимоеФайла.ПолучитьТекст() <> СодержимоеФайла Тогда
|
||||
|
||||
ФайловыеОперации.ЗаписатьТекстФайла(ИмяФайла, НовоеСодержимоеФайла.ПолучитьТекст());
|
||||
Возврат Истина; // переиндексируем
|
||||
|
||||
@ -193,15 +190,16 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ВырезатьТекстВКавычках(Знач СтрокаМодуля, ПозицияКавычек, ПоследняяПозиция, СтрокаОткрыта)
|
||||
|
||||
|
||||
Пока ПозицияКавычек > 0 Цикл
|
||||
|
||||
// Если строка открыта 2 варианта:
|
||||
// Строка могла открыться ранее по тексту модуля тогда ПоследняяПозиция кавычки в этой строке = 0, тогда слева ничего не отрежется, а дополнить надо вместе с кавычкой
|
||||
// Строка в этой же строке, значит 1 кавычку мы уже заменили и надо дополнить оставшуюся часть : пример"
|
||||
Если СтрокаОткрыта Тогда
|
||||
|
||||
// кавычки закрывают строку, вырезаем часть в кавычках
|
||||
СтрокаМодуляВКавычках = Сред(СтрокаМодуля, ПозицияКавычек + 1);
|
||||
СтрокаМодуля = Лев(СтрокаМодуля, ПоследняяПозиция - 1)
|
||||
+ ДополнитьСтроку("", ПозицияКавычек - ПоследняяПозиция + 1, " ")
|
||||
+ ДополнитьСтроку("", ?(ПоследняяПозиция = 0, ПозицияКавычек, ПозицияКавычек - ПоследняяПозиция + 1), " ")
|
||||
+ СтрокаМодуляВКавычках;
|
||||
СтрокаОткрыта = Ложь;
|
||||
ПоследняяПозиция = 0;
|
||||
|
@ -71,4 +71,30 @@
|
||||
|
||||
&наКлиентенаСервере
|
||||
Процедура тест() // Комментарий
|
||||
КонецПроцедуры
|
||||
КонецПроцедуры
|
||||
|
||||
Функция тест (Параметр, ДатаНачала, УИД, Владелец)
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Источник.Период,
|
||||
| Источник.ЕщеПериод,
|
||||
| Источник.ЕщеПериод1,
|
||||
| Источник.ЕщеПериод2.Точка КАК ЕщеПериод2,
|
||||
| Источник.Измерение
|
||||
|ИЗ
|
||||
| РегистрСведений.Источник.СрезПоследних(, " + ?(НЕ Параметр = Неопределено, "Измерение.Реквизит = &Параметр", "") + ") КАК Источник
|
||||
|ГДЕ
|
||||
| ИСТИНА
|
||||
|
|
||||
| " + ?(НЕ ДатаНачала = Неопределено И НЕ ДатаКонца = Неопределено, "И Источник.ДатаНачалаДействия МЕЖДУ &ДатаНачала И &ДатаКонца", "") + "
|
||||
//| ИЛИ Источник.ДатаКонца МЕЖДУ &ДатаНачала И &ДатаКонца)", "") + "
|
||||
| " + ?(НЕ УИД = Неопределено, "И Источник.Владелец = &Владелец", "");
|
||||
|
||||
Запрос.УстановитьПараметр("Владелец", Владелец);
|
||||
|
||||
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
|
||||
Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);
|
||||
|
||||
Возврат Запрос.Выполнить().Выгрузить();
|
||||
КонецФункции
|
||||
|
@ -23,6 +23,8 @@
|
||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийРазбораОтчетовОбработокРасширенийВозвращаетНастройки");
|
||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетФайл");
|
||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияНеИндексируетНеизмененные");
|
||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетТолькоНаписание");
|
||||
|
||||
Возврат ВсеТесты;
|
||||
|
||||
КонецФункции
|
||||
@ -57,6 +59,22 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетТолькоНаписание() Экспорт
|
||||
|
||||
ОбъектСценария = ПолучитьСценарий("ИсправлениеНеКаноническогоНаписания.os");
|
||||
ИмяФайла = "ИсправлениеНеКаноническогоНаписания.bsl";
|
||||
|
||||
Файл = ПодготовитьИзменяемыйТестовыйФайл(ИмяФайла);
|
||||
ТекстФайлаДо = ФайловыеОперации.ПрочитатьТекстФайла(Файл.ПолноеИмя);
|
||||
Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ПолучитьДополнительныеНастройки());
|
||||
ТекстФайлаПосле = ФайловыеОперации.ПрочитатьТекстФайла(Файл.ПолноеИмя);
|
||||
|
||||
// текст изменен
|
||||
Ожидаем.Что(ТекстФайлаДо, Истина).Не_().Равно(ТекстФайлаПосле);
|
||||
// текст тождественен
|
||||
Ожидаем.Что(Врег(ТекстФайлаДо), Истина).Равно(Врег(ТекстФайлаПосле));
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияНеИндексируетНеизмененные() Экспорт
|
||||
|
||||
ОбъектСценария = ПолучитьСценарий("ИсправлениеНеКаноническогоНаписания.os");
|
||||
|
Loading…
Reference in New Issue
Block a user