Skip to content

Commit

Permalink
Merge branch 'hotfix/1.20.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
Knyazkov Alexey authored and Knyazkov Alexey committed Nov 25, 2019
2 parents d572e59 + 702b41f commit 7bc6ba5
Show file tree
Hide file tree
Showing 9 changed files with 65 additions and 22 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ bdd-log.xml
*.ospx
*.orig
exec.log

.vscode
/tests.xml
3 changes: 2 additions & 1 deletion features/ВыполнениеПрекоммита.feature
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,8 @@
Когда Я копирую файл "tests\fixturesсправлениеНеКаноническогоНаписания.bsl" в каталог репозитория "РабочийКаталог"
И я выполняю команду "git" с параметрами "add --all"
И я выполняю команду "git" с параметрами "commit -m addFile"
Тогда Вывод команды "git" содержит """
Тогда Вывод команды "git" не содержит "В строке 92 найдено ключевое слово"
И Вывод команды "git" содержит """
ИНФОРМАЦИЯ - В строке 5 найдено ключевое слово '#область' заменено на '#Область'
ИНФОРМАЦИЯ - В строке 7 найдено ключевое слово 'ПЕРЕМ' заменено на 'Перем'
ИНФОРМАЦИЯ - В строке 8 найдено ключевое слово 'перем' заменено на 'Перем'
Expand Down
4 changes: 2 additions & 2 deletions features/Конфигурирование.feature
Original file line number Diff line number Diff line change
Expand Up @@ -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" содержит "КаталогЛокальныхСценариев ="
Expand All @@ -25,7 +25,7 @@
И Я сообщаю вывод команды "oscript"
И Вывод команды "oscript" содержит
"""
precommit4onec v1.20
precommit4onec v1.20.1
Установленные настройки: Precommt4onecСценарии
ИспользоватьСценарииРепозитория = Нет
КаталогЛокальныхСценариев =
Expand Down
6 changes: 3 additions & 3 deletions features/ПростыеКоманды.feature
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@
Сценарий: Получение версии продукта
Когда Я выполняю команду "oscript" с параметрами "src/main.os version"
Тогда Я сообщаю вывод команды "oscript"
И Вывод команды "oscript" содержит "1.20"
И Вывод команды "oscript" содержит "1.20.1"
И Вывод команды "oscript" не содержит "precommit4onec v"
И Код возврата команды "oscript" равен 0

Сценарий: Получение помощи продукта
Когда Я выполняю команду "oscript" с параметрами "src/main.os help"
Тогда Вывод команды "oscript" содержит
"""
precommit4onec v1.20
precommit4onec v1.20.1
Возможные команды:
help - Выводит справку по командам
version - Выводит версию приложения
Expand All @@ -36,7 +36,7 @@
Когда Я выполняю команду "oscript" с параметрами "src/main.os"
Тогда Вывод команды "oscript" содержит
"""
precommit4onec v1.20
precommit4onec v1.20.1
Возможные команды:
help - Выводит справку по командам
version - Выводит версию приложения
Expand Down
8 changes: 4 additions & 4 deletions features/УстановкаПрекоммита.feature
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand All @@ -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"

Expand All @@ -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"
2 changes: 1 addition & 1 deletion src/Модули/ПараметрыПриложения.os
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
//
Функция ВерсияПродукта() Экспорт

Возврат "1.20";
Возврат "1.20.1";

КонецФункции // ВерсияПродукта

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,9 @@
КонецЕсли;

// Вырезаем часть строки в кавычках
ПоследняяПозиция = 0;
ПозицияКавычек = СтрНайти(НоваяСтрокаМодуля, """");

ПозицияКавычек = СтрНайти(НоваяСтрокаМодуля, """");
ПоследняяПозиция = 0;
НоваяСтрокаМодуля = ВырезатьТекстВКавычках(НоваяСтрокаМодуля, ПозицияКавычек, ПоследняяПозиция, СтрокаОткрыта);

// ничего интересного не осталось
Expand All @@ -119,8 +119,6 @@
// Проверяем правильное использование каждого ключевого слова
ВРегНоваяСтрокаМодуля = НормализоватьСтроку(НоваяСтрокаМодуля, ЗаменяемыеСимволы);

ДлинаСтроки = СтрДлина(ВРегНоваяСтрокаМодуля);

Для Каждого ЭлементТаблицы Из КлючевыеСлова Цикл
Эталон = ЭлементТаблицы.Наименование;
ПозицияЭталона = СтрНайти(ВРегНоваяСтрокаМодуля, " " + Эталон + " ");
Expand Down Expand Up @@ -158,7 +156,6 @@
КонецЦикла;

Если НовоеСодержимоеФайла.ПолучитьТекст() <> СодержимоеФайла Тогда

ФайловыеОперации.ЗаписатьТекстФайла(ИмяФайла, НовоеСодержимоеФайла.ПолучитьТекст());
Возврат Истина; // переиндексируем

Expand Down Expand Up @@ -193,15 +190,16 @@
КонецПроцедуры

Функция ВырезатьТекстВКавычках(Знач СтрокаМодуля, ПозицияКавычек, ПоследняяПозиция, СтрокаОткрыта)

Пока ПозицияКавычек > 0 Цикл

// Если строка открыта 2 варианта:
// Строка могла открыться ранее по тексту модуля тогда ПоследняяПозиция кавычки в этой строке = 0, тогда слева ничего не отрежется, а дополнить надо вместе с кавычкой
// Строка в этой же строке, значит 1 кавычку мы уже заменили и надо дополнить оставшуюся часть : пример"
Если СтрокаОткрыта Тогда

// кавычки закрывают строку, вырезаем часть в кавычках
СтрокаМодуляВКавычках = Сред(СтрокаМодуля, ПозицияКавычек + 1);
СтрокаМодуля = Лев(СтрокаМодуля, ПоследняяПозиция - 1)
+ ДополнитьСтроку("", ПозицияКавычек - ПоследняяПозиция + 1, " ")
+ ДополнитьСтроку("", ?(ПоследняяПозиция = 0, ПозицияКавычек, ПозицияКавычек - ПоследняяПозиция + 1), " ")
+ СтрокаМодуляВКавычках;
СтрокаОткрыта = Ложь;
ПоследняяПозиция = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,30 @@

&наКлиентенаСервере
Процедура тест() // Комментарий
КонецПроцедуры
КонецПроцедуры

Функция тест (Параметр, ДатаНачала, УИД, Владелец)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Источник.Период,
| Источник.ЕщеПериод,
| Источник.ЕщеПериод1,
| Источник.ЕщеПериод2.Точка КАК ЕщеПериод2,
| Источник.Измерение
|ИЗ
| РегистрСведений.Источник.СрезПоследних(, " + ?(НЕ Параметр = Неопределено, "Измерение.Реквизит = &Параметр", "") + ") КАК Источник
|ГДЕ
| ИСТИНА
|
| " + ?(НЕ ДатаНачала = Неопределено И НЕ ДатаКонца = Неопределено, "И Источник.ДатаНачалаДействия МЕЖДУ &ДатаНачала И &ДатаКонца", "") + "
//| ИЛИ Источник.ДатаКонца МЕЖДУ &ДатаНачала И &ДатаКонца)", "") + "
| " + ?(НЕ УИД = Неопределено, "И Источник.Владелец = &Владелец", "");

Запрос.УстановитьПараметр("Владелец", Владелец);

Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);

Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
18 changes: 18 additions & 0 deletions tests/ПроверкаСцераниевОбработки.os
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийРазбораОтчетовОбработокРасширенийВозвращаетНастройки");
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетФайл");
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияНеИндексируетНеизмененные");
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетТолькоНаписание");

Возврат ВсеТесты;

КонецФункции
Expand Down Expand Up @@ -57,6 +59,22 @@

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

Процедура ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетТолькоНаписание() Экспорт

ОбъектСценария = ПолучитьСценарий("ИсправлениеНеКаноническогоНаписания.os");
ИмяФайла = "ИсправлениеНеКаноническогоНаписания.bsl";

Файл = ПодготовитьИзменяемыйТестовыйФайл(ИмяФайла);
ТекстФайлаДо = ФайловыеОперации.ПрочитатьТекстФайла(Файл.ПолноеИмя);
Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ПолучитьДополнительныеНастройки());
ТекстФайлаПосле = ФайловыеОперации.ПрочитатьТекстФайла(Файл.ПолноеИмя);

// текст изменен
Ожидаем.Что(ТекстФайлаДо, Истина).Не_().Равно(ТекстФайлаПосле);
// текст тождественен
Ожидаем.Что(Врег(ТекстФайлаДо), Истина).Равно(Врег(ТекстФайлаПосле));
КонецПроцедуры

Процедура ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияНеИндексируетНеизмененные() Экспорт

ОбъектСценария = ПолучитьСценарий("ИсправлениеНеКаноническогоНаписания.os");
Expand Down

0 comments on commit 7bc6ba5

Please sign in to comment.