Skip to content

Commit

Permalink
Finish 0.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
khorevaa committed Jan 24, 2019
2 parents 759683f + c5ec0d9 commit 5e40dcb
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 3 deletions.
23 changes: 22 additions & 1 deletion src/Классы/КонструкторПараметров.os
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,8 @@
ИмяПоля = КлючЗначение.Ключ;
Значение = КлючЗначение.Значение;

Если НадоСоздатьПоляНастройки(ИмяПоля) Тогда
Если ЗначениеПоляЗаполнено(Значение)
ИЛИ НадоСоздатьПоляНастройки(ИмяПоля) Тогда

ЗначениеКлюча = ЗначениеВСтруктуру(Значение);

Expand Down Expand Up @@ -440,6 +441,26 @@

КонецФункции

Функция ЗначениеПоляЗаполнено(Знач ЗначениеПоля)

ТипЗначенияПоля = ТипЗнч(ЗначениеПоля);

Если ЭтоПростойТип(ТипЗначенияПоля) Тогда

Возврат ЗначениеЗаполнено(ЗначениеПоля);

ИначеЕсли ТипЗначенияПоля = Тип("Массив") Тогда

Возврат ЗначениеПоля.Количество() > 1;

ИначеЕсли ТипЗначенияПоля = Тип("КонструкторПараметров") Тогда

Возврат ЗначениеПоля.Использован();

КонецЕсли;

КонецФункции

Функция НайтиПолеВИндексеПолей(Знач ИмяПоля)

ИмяПоляВИндексе = ИндексСинонимовПолей[ИмяПоля];
Expand Down
9 changes: 7 additions & 2 deletions tests/КонструкторНастройки_test.os
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@
СтруктураПараметров = Новый Соответствие();
СтруктураПараметров.Вставить("--custom-feild", "ПроизвольноеПоле");
СтруктураПараметров.Вставить("Поле", "ЗаданноеПоле");
СтруктураПараметров.Вставить("ПолеОбъект3", Новый Соответствие());

МенеджерПараметров = Новый МенеджерПараметров();
Конструктор = МенеджерПараметров.КонструкторПараметров();
Expand All @@ -202,11 +203,15 @@
.ПолеСтрока("Ключ2")
;

Конструктор.ПолеОбъект("ПолеОбъект", ПараметрСоответствие, Ложь);
Конструктор.ПолеОбъект("ПолеОбъект1", ПараметрСоответствие, Ложь);
Конструктор.ПолеОбъект("ПолеОбъект2", ПараметрСоответствие);
Конструктор.ПолеОбъект("ПолеОбъект3", ПараметрСоответствие, Ложь);

Конструктор.ИзСоответствия(СтруктураПараметров);
СтруктураПроверки = Конструктор.ВСтруктуру();
Ожидаем.Что(СтруктураПроверки.Свойство("ПолеОбъект"), "Поле должно отсутствовать").Равно(Ложь);
Ожидаем.Что(СтруктураПроверки.Свойство("ПолеОбъект1"), "Поле должно отсутствовать").Равно(Ложь);
Ожидаем.Что(СтруктураПроверки.Свойство("ПолеОбъект2"), "Поле должно присутствовать").Равно(Истина);
Ожидаем.Что(СтруктураПроверки.Свойство("ПолеОбъект3"), "Поле должно присутствовать").Равно(Истина);
ПроверитьРезультат(СтруктураПараметров["Поле"], СтруктураПроверки["Поле"]);

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

0 comments on commit 5e40dcb

Please sign in to comment.