Skip to content

Commit 1578c5f

Browse files
committed
Merge branch 'develop' into release/v1.0
2 parents 749253a + 2a1e32f commit 1578c5f

File tree

4 files changed

+145
-20
lines changed

4 files changed

+145
-20
lines changed

.vscode/tasks.json

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,11 @@
1010
},
1111
"isShellCommand": true,
1212
"showOutput": "silent",
13-
"args": [
14-
"-encoding=utf-8"
15-
],
1613
"tasks": [
1714
{
1815
"taskName": "Testing project",
1916
"args": [
20-
"oscript",
21-
"-encoding=utf-8",
22-
"${workspaceRoot}/../../1testrunner/testrunner.os",
17+
"1testrunner",
2318
"-runall",
2419
"${workspaceRoot}/tests"
2520
],
@@ -41,9 +36,7 @@
4136
{
4237
"taskName": "Testing current test-file",
4338
"args": [
44-
"oscript",
45-
"-encoding=utf-8",
46-
"${workspaceRoot}/../../1testrunner/testrunner.os",
39+
"1testrunner",
4740
"-run",
4841
"${file}",
4942
],
@@ -65,10 +58,8 @@
6558
{
6659
"taskName": "Exec all features",
6760
"args": [
68-
"oscript",
69-
"-encoding=utf-8",
70-
"${workspaceRoot}/../1bdd/src/bdd.os",
71-
"${workspaceRoot}/.",
61+
"1bdd",
62+
"${workspaceRoot}/features",
7263
"-out",
7364
"${workspaceRoot}/exec.log"
7465
],
@@ -90,9 +81,7 @@
9081
{
9182
"taskName": "Exec feature",
9283
"args": [
93-
"oscript",
94-
"-encoding=utf-8",
95-
"${workspaceRoot}/../1bdd/src/bdd.os",
84+
"1bdd",
9685
"${file}",
9786
"-out",
9887
"${workspaceRoot}/exec.log"
@@ -117,9 +106,7 @@
117106
{
118107
"taskName": "Generate feature steps",
119108
"args": [
120-
"oscript",
121-
"-encoding=utf-8",
122-
"${workspaceRoot}/../1bdd/src/bdd.os",
109+
"1bdd",
123110
"gen",
124111
"${file}",
125112
"-out",

features/step_definitions/gitsync-init.os

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
ТекстФайла = "";
127127
КодВозврата = ВыполнитьПроцесс(СтрокаКоманды, ТекстФайла);
128128

129-
БДД.СохранитьВКонтекст("ТекстЛогФайлаГитсинк", ТекстФайла);
129+
БДД.СохранитьВКонтекст("ТекстЛогФайлаПродукта", ТекстФайла);
130130

131131
Если КодВозврата <> ОжидаемыйКодВозврата Тогда
132132
ВывестиТекст(ТекстФайла);

features/step_definitions/version.os

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd
2+
#Использовать asserts
3+
#Использовать tempfiles
4+
5+
Перем БДД; //контекст фреймворка 1bdd
6+
7+
Перем Лог;
8+
9+
// Метод выдает список шагов, реализованных в данном файле-шагов
10+
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
11+
БДД = КонтекстФреймворкаBDD;
12+
13+
ВсеШаги = Новый Массив;
14+
15+
ВсеШаги.Добавить("ВЛог_ФайлеЗапускаПродуктаЕстьСтрока");
16+
ВсеШаги.Добавить("ВЛог_ФайлеЗапускаПродуктаОтсутствуетСтрока");
17+
ВсеШаги.Добавить("ВФайлеЕстьСтрока");
18+
19+
Возврат ВсеШаги;
20+
КонецФункции
21+
22+
23+
// Реализация шагов
24+
25+
// TODO дубль метода ВЛог_ФайлеЗапускаПродуктаЕстьСтрока с методом в 1bdd
26+
// TODO дубль метода ВЛог_ФайлеЗапускаПродуктаОтсутствуетСтрока с методом в 1bdd
27+
// TODO дубль метода ВФайлеЕстьСтрока с методом в 1bdd
28+
//
29+
Функция ИмяЛога() Экспорт
30+
Возврат "bdd.gitsync.feature";
31+
КонецФункции
32+
33+
//в лог-файле запуска продукта есть строка "ЯЗапускаюПадающийШагСПараметром-Первый падающий шаг"
34+
Процедура ВЛог_ФайлеЗапускаПродуктаЕстьСтрока(Знач ПроверяемаяСтрока) Экспорт
35+
ТекстЛогФайла = БДД.ПолучитьИзКонтекста("ТекстЛогФайлаПродукта");
36+
Если СтрЧислоСтрок(ПроверяемаяСтрока) = 1 Тогда
37+
Ожидаем.Что(ТекстЛогФайла).Содержит(ПроверяемаяСтрока);
38+
Иначе
39+
ПроверитьЧтоМногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(ТекстЛогФайла, ПроверяемаяСтрока);
40+
КонецЕсли;
41+
КонецПроцедуры
42+
43+
//в файле "clean.log" есть строка "ыва"
44+
Процедура ВФайлеЕстьСтрока(Знач ПутьФайла, Знач ПроверяемаяСтрока) Экспорт
45+
Файл = Новый Файл(ОбъединитьПути(ТекущийКаталог(), ПутьФайла));
46+
ЕстьПодстрока(ПрочитатьТекстФайла(Файл), ПроверяемаяСтрока);
47+
КонецПроцедуры
48+
49+
Функция ПрочитатьТекстФайла(Знач Файл)
50+
ЧтениеТекста = Новый ЧтениеТекста;
51+
ЧтениеТекста.Открыть(Файл.ПолноеИмя,"UTF-8");
52+
53+
Строка = ЧтениеТекста.Прочитать();
54+
ЧтениеТекста.Закрыть();
55+
Возврат Строка;
56+
КонецФункции // ПрочитатьТекстФайла()
57+
58+
Процедура ЕстьПодстрока(Знач Строка, Знач ПроверяемаяСтрока)
59+
Если СтрЧислоСтрок(ПроверяемаяСтрока) = 1 Тогда
60+
Ожидаем.Что(Строка, "Проверяем одиночную строку").Содержит(ПроверяемаяСтрока);
61+
Иначе
62+
ПроверитьЧтоМногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Строка, ПроверяемаяСтрока);
63+
КонецЕсли;
64+
КонецПроцедуры
65+
66+
//TODO перенести в ассерты oscript-library
67+
Процедура ПроверитьЧтоМногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Знач Строка, Знач Подстрока, ДопСообщениеОшибки = "")
68+
СообщениеОшибки = "";
69+
Нашли = МногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Строка, Подстрока, СообщениеОшибки);
70+
Если Не Нашли Тогда
71+
ВызватьИсключение СтрШаблон("Ожидали, что в строке <
72+
|%1
73+
|>
74+
|найдем подстроку<
75+
|%2
76+
|>
77+
|А это не так.
78+
|Уточнение: %3.
79+
|%4", Строка, Подстрока, СообщениеОшибки, ДопСообщениеОшибки);
80+
КонецЕсли;
81+
КонецПроцедуры
82+
83+
Функция МногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Знач Строка, Знач Подстрока, СообщениеОшибки = "")
84+
ПерваяСтрока = СокрЛП(СтрПолучитьСтроку(Подстрока, 1));
85+
НашлиПервуюСтроку = Ложь;
86+
Для Счетчик = 1 По СтрЧислоСтрок(Строка) Цикл
87+
ОчереднаяСтрока = СокрЛП(СтрПолучитьСтроку(Строка, Счетчик));
88+
НашлиПервуюСтроку = Найти(ОчереднаяСтрока, ПерваяСтрока) <> 0;
89+
Если НашлиПервуюСтроку Тогда
90+
Прервать;
91+
КонецЕсли;
92+
КонецЦикла;
93+
Если Не НашлиПервуюСтроку Тогда
94+
СообщениеОшибки = СтрШаблон("Не нашли первую же подстроку <%1>", ПерваяСтрока);
95+
Возврат Ложь;
96+
КонецЕсли;
97+
98+
СчетчикЧтоИщем = 2;
99+
Для Счетчик = Счетчик+1 По СтрЧислоСтрок(Строка) Цикл
100+
ОчереднаяСтрока = СокрЛП(СтрПолучитьСтроку(Строка, Счетчик));
101+
ЧтоИщем = СокрЛП(СтрПолучитьСтроку(Подстрока, СчетчикЧтоИщем));
102+
Поз = Найти(ОчереднаяСтрока, ЧтоИщем);
103+
Если Поз = 0 Тогда
104+
СообщениеОшибки = СтрШаблон("Не нашли подстроку № %1 <%2>", СчетчикЧтоИщем, ЧтоИщем);
105+
Возврат Ложь;
106+
Иначе
107+
СчетчикЧтоИщем = СчетчикЧтоИщем + 1;
108+
Если СчетчикЧтоИщем > СтрЧислоСтрок(Подстрока) Тогда
109+
Возврат Истина;
110+
КонецЕсли;
111+
КонецЕсли;
112+
КонецЦикла;
113+
Возврат СчетчикЧтоИщем > СтрЧислоСтрок(Подстрока);
114+
КонецФункции
115+
116+
//в лог-файле запуска продукта отсутствует строка "ДоЭтогоШагаВыполнениеДойтиНеДолжно"
117+
Процедура ВЛог_ФайлеЗапускаПродуктаОтсутствуетСтрока(Знач ПроверяемаяСтрока) Экспорт
118+
ТекстЛогФайла = БДД.ПолучитьИзКонтекста("ТекстЛогФайлаПродукта");
119+
Ожидаем.Что(ТекстЛогФайла).ЭтоНе().Содержит(ПроверяемаяСтрока);
120+
КонецПроцедуры
121+
122+
Лог = Логирование.ПолучитьЛог(ИмяЛога());
123+
//Лог.УстановитьУровень(Логирование.ПолучитьЛог("bdd").Уровень());
124+
// Лог.УстановитьУровень(УровниЛога.Отладка);

features/version.feature

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# language: ru
2+
3+
Функционал: Инициализация каталога исходников конфигурации
4+
Как Пользователь
5+
Я хочу получать версию продукта gitsync
6+
Чтобы понимать актуальность продукта
7+
8+
Контекст: Тестовый каталог
9+
Когда очищаю параметры гитсинк в контексте
10+
11+
Сценарий: Получение версии продукта
12+
Когда я выполняю команду gitsync "-version"
13+
Тогда в лог-файле запуска продукта есть строка "."
14+

0 commit comments

Comments
 (0)