Skip to content

Commit 44d3fe0

Browse files
committed
Merge branch 'release/0.6.2'
2 parents e6c0cfd + 843b95c commit 44d3fe0

File tree

4 files changed

+43
-6
lines changed

4 files changed

+43
-6
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
tests.xml
2+
*.ospx

packagedef

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
Описание.Имя("cmdline")
3-
.Версия("0.6.1")
3+
.Версия("0.6.2")
44
.ЗависитОт("logos")
55
.ВключитьФайл("src")
66
.ВключитьФайл("tests")

src/cmdline.os

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@
6060

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

63+
Функция ПолучитьКоманду(Знач ИмяКоманды) Экспорт
64+
65+
Возврат мКоманды[ИмяКоманды];
66+
67+
КонецФункции
68+
6369
Функция ДобавитьПозиционныйПараметрКоманды(Знач ОписаниеКоманды, Знач ИмяПараметра, Знач Пояснение = "") Экспорт
6470
Лог.Отладка("Добавляю позиционный параметр "+ИмяПараметра);
6571
Возврат ДобавитьПараметрВТаблицу(ОписаниеКоманды.ПозиционныеПараметры, ИмяПараметра, Пояснение, Ложь);
@@ -318,17 +324,17 @@
318324
Лог.Отладка("Попадаю в РазобратьАргументы");
319325

320326
РезультатРазбора = Новый Соответствие;
321-
322-
Если мМассивВходныхПараметров.Количество() = 0 Тогда
323-
Лог.Отладка("Параметров не передали.");
324-
Возврат РезультатРазбора;
325-
КонецЕсли;
326327

327328
Для Каждого СтрПараметр Из ИменованныеПараметры.НайтиСтроки(Новый Структура("ЭтоФлаг",Истина)) Цикл
328329
Лог.Отладка("Сбрасываю параметр-флаг: " + СтрПараметр.Имя);
329330
РезультатРазбора[СтрПараметр.Имя] = Ложь;
330331
КонецЦикла;
331332

333+
Если мМассивВходныхПараметров.Количество() = 0 Тогда
334+
Лог.Отладка("Параметров не передали.");
335+
Возврат РезультатРазбора;
336+
КонецЕсли;
337+
332338
ТекущийПараметрКоллекция = Неопределено;
333339
Пока Истина Цикл
334340

tests/cmdline-test.os

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
СписокТестов.Добавить("ТестДолжен_ПроверитьКомандуСПараметромПоУмолчаниюИГлобальнымПараметромФлаг");
3232
СписокТестов.Добавить("ТестДолжен_ПроверитьМетод_ДобавитьПараметрФлаг");
3333
СписокТестов.Добавить("ТестДолжен_ПроверитьМетод_ДобавитьПараметрФлаг_КогдаПараметрФлагНеЗадан");
34+
СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрФлаг_ЕслиОнНеЗаданИВходнойМассивПуст");
35+
СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрФлагКоманды_ЕслиОнНеЗаданИВходнойМассивПуст");
3436
СписокТестов.Добавить("ТестДолжен_ОбработатьНеизвестныйТокен");
3537
СписокТестов.Добавить("ТестДолжен_ПрочитатьПараметрКоллекцияВКонцеДляКоманды");
3638
СписокТестов.Добавить("ТестДолжен_ПрочитатьПараметрИменованнаяКоллекцияДляКоманды");
@@ -109,6 +111,34 @@
109111

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

114+
Процедура ТестДолжен_ПолучитьПараметрФлаг_ЕслиОнНеЗаданИВходнойМассивПуст() Экспорт
115+
ПарсерКоманднойСтроки = Новый ПарсерАргументовКоманднойСтроки();
116+
ПарсерКоманднойСтроки.ДобавитьПараметрФлаг("flag", "Пояснение", Ложь); // Или Истина
117+
ВходнойМассив = Новый Массив;
118+
Аргументы = ПарсерКоманднойСтроки.Разобрать(ВходнойМассив);
119+
120+
Флаг = Аргументы["flag"];
121+
122+
Ожидаем.Что(Флаг, "Значение Флаг").Равно(Ложь);
123+
КонецПроцедуры
124+
125+
Процедура ТестДолжен_ПолучитьПараметрФлагКоманды_ЕслиОнНеЗаданИВходнойМассивПуст() Экспорт
126+
Лог.УстановитьУровень(УровниЛога.Отладка);
127+
ПарсерКоманднойСтроки = Новый ПарсерАргументовКоманднойСтроки();
128+
ОписаниеКоманды = ПарсерКоманднойСтроки.ОписаниеКоманды("test");
129+
130+
ПарсерКоманднойСтроки.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "flag");
131+
ПарсерКоманднойСтроки.ДобавитьКоманду(ОписаниеКоманды);
132+
133+
ВходнойМассив = Новый Массив;
134+
ВходнойМассив.Добавить("test");
135+
Аргументы = ПарсерКоманднойСтроки.РазобратьКоманду(ВходнойМассив);
136+
137+
Флаг = Аргументы.ЗначенияПараметров["flag"];
138+
139+
Ожидаем.Что(Флаг, "Значение Флаг").Равно(Ложь);
140+
КонецПроцедуры
141+
112142
Процедура ТестДолжен_ПолучитьНесколькихПараметровИЗначений() Экспорт
113143

114144
НаборПараметров = Новый Соответствие;

0 commit comments

Comments
 (0)