diff --git a/packagedef b/packagedef index 5a49778..103ca2f 100644 --- a/packagedef +++ b/packagedef @@ -4,7 +4,7 @@ // Описание.Имя("configor") - .Версия("0.8.1") + .Версия("0.8.2") .Автор("Khorev Aleksey") .АдресАвтора("Khorevaa@gmail.com") .Описание("Библиотека для работы с конфигурационными файлами в формате json, yaml") @@ -20,6 +20,9 @@ .ЗависитОт("notify", "0.2.0") .ЗависитОт("tempfiles") .ЗависитОт("reflector", "0.3.1") + .РазработкаЗависитОт("coverage", "0.6.1") + .РазработкаЗависитОт("1testrunner", "1.8.0") + .РазработкаЗависитОт("1bdd", "1.14.0") .ОпределяетКласс("МенеджерПараметров", "src/Классы/МенеджерПараметров.os") .ОпределяетКласс("КонструкторПараметров", "src/Классы/КонструкторПараметров.os") ; diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\271\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\271\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" index 52d7003..7778d46 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\271\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\271\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" @@ -202,9 +202,9 @@ Иначе - ФункцияОбработки = Новый ОписаниеОповещения("ОбработчикВыполненияЧтениеФайловогоПровайдера", ЭтотОбъект); КоллекцияФайловПараметров.ДляКаждого( - "КаталогПоиска -> ВыполнитьЧтениеФайловогоПровайдера(КаталогПоиска.ИмяФайла());" + "КаталогПоиска -> ВыполнитьЧтениеФайловогоПровайдера(КаталогПоиска.ИмяФайла());", + ЭтотОбъект ); КонецЕсли; diff --git "a/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\247\321\202\320\265\320\275\320\270\321\217\320\277\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262_test.os" "b/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\247\321\202\320\265\320\275\320\270\321\217\320\277\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262_test.os" index 5dc187c..46a9b78 100644 --- "a/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\247\321\202\320\265\320\275\320\270\321\217\320\277\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262_test.os" +++ "b/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\247\321\202\320\265\320\275\320\270\321\217\320\277\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262_test.os" @@ -4,23 +4,9 @@ #Использовать tempfiles #Использовать json -Перем юТест; Перем Лог; -Функция ПолучитьСписокТестов(Знач Тестирование) Экспорт - - юТест = Тестирование; - - ИменаТестов = Новый Массив; - - ИменаТестов.Добавить("ТестДолжен_ПроверитьПолучениеПараметровИзИндекса"); - ИменаТестов.Добавить("ТестДолжен_ПроверитьВыгрузкуПараметровВКласс"); - ИменаТестов.Добавить("ТестДолжен_ПроверитьПоискИЧтениеФайлаПараметров"); - - Возврат ИменаТестов; - -КонецФункции - +&Тест Процедура ТестДолжен_ПроверитьПолучениеПараметровИзИндекса() Экспорт ТестовыеСлучаи = Новый Массив; @@ -68,6 +54,7 @@ КонецПроцедуры +&Тест Процедура ТестДолжен_ПроверитьВыгрузкуПараметровВКласс() Экспорт МенеджерПараметров = Новый МенеджерПараметров(); @@ -106,6 +93,7 @@ КонецПроцедуры +&Тест Процедура ТестДолжен_ПроверитьПоискИЧтениеФайлаПараметров() Экспорт МенеджерПараметров = Новый МенеджерПараметров(); @@ -148,6 +136,79 @@ КонецПроцедуры +&Тест +Процедура ТестДолжен_ПроверитьПоискИЧтениеНесколькихФайловПараметров() Экспорт + + ПарсерJSON = Новый ПарсерJSON; + + МенеджерПараметров = Новый МенеджерПараметров(); + + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); + + СтруктураПараметров = Новый Структура("version, ПараметрСтрока, ПараметрЧисло, ПараметрМассив, ПараметрСтруктура, ПараметрСоответствие", + "1.0", + "ПростоСтрока", + 10, + ПолучитьНовыйМассив("Элемент1, Элемент2"), + Новый Структура("Строка, Число, Массив, Структура, Соответствие", + "ПростоСтрока", + 10, + ПолучитьНовыйМассив("Элемент1, Элемент2"), + Новый Структура("Строка, Строка2", "ЗначениеСтруктуры", "ЗначениеСтруктуры2"), + ПолучитьСоответствие("КлючВнутри1, КлючВнутри2", "Значение1, Значение2") + ), + ПолучитьСоответствие("Ключ1, Ключ2", "Значение1, Значение2") + ); + + ТекстФайлаПроверки = ПарсерJSON.ЗаписатьJSON(СтруктураПараметров); + + ТестовыйФайл = ПодготовитьТестовыйФайл(ТекстФайлаПроверки); + + ТестовоеИмя = "config"; + ТестовоеРасширение = ".json"; + + КопироватьФайл(ТестовыйФайл, ОбъединитьПути(ВременныйКаталог, ТестовоеИмя + ТестовоеРасширение)); + + МенеджерПараметров.АвтоНастройка(ТестовоеИмя); + + СтруктураПараметров = Новый Структура("version, ПараметрСтрока, ПараметрЧисло, ПараметрМассив, ПараметрСтруктура, ПараметрСоответствие", + "1.0", + "ПростоСтрока", + 10, + ПолучитьНовыйМассив("Элемент3"), + Новый Структура("Строка, Число, Массив, Структура, Соответствие", + "ПростоСтрока", + 10, + ПолучитьНовыйМассив("Элемент3"), + Новый Структура("Строка, Строка2", "ЗначениеСтруктуры", "ЗначениеСтруктуры2"), + ПолучитьСоответствие("КлючВнутри1, КлючВнутри2", "Значение1, Значение2") + ), + ПолучитьСоответствие("Ключ1, Ключ2", "Значение1, Значение2") + ); + + ТекстФайлаПроверки = ПарсерJSON.ЗаписатьJSON(СтруктураПараметров); + + ТестовыйФайл = ПодготовитьТестовыйФайл(ТекстФайлаПроверки); + + ТестовоеИмя = "config2"; + ТестовоеРасширение = ".json"; + + КопироватьФайл(ТестовыйФайл, ОбъединитьПути(ВременныйКаталог, ТестовоеИмя + ТестовоеРасширение)); + + МенеджерПараметров.АвтоНастройка(ТестовоеИмя); + + НастройкаПоискаФайла = МенеджерПараметров.НастройкаПоискаФайла(); + НастройкаПоискаФайла.ДобавитьКаталогПоиска(ВременныйКаталог); + МенеджерПараметров.Прочитать(); + + Утверждения.ПроверитьРавенство(СтруктураПараметров.ПараметрМассив[0], МенеджерПараметров.Параметр("ПараметрМассив.0"), "Результат должен совпадать с ожиданиями."); + Утверждения.ПроверитьРавенство(СтруктураПараметров.ПараметрСтруктура.Массив[0], МенеджерПараметров.Параметр("ПараметрСтруктура.Массив.0"), "Результат должен совпадать с ожиданиями."); + Утверждения.ПроверитьРавенство(СтруктураПараметров.ПараметрСтруктура.Соответствие["КлючВнутри1"], МенеджерПараметров.Параметр("ПараметрСтруктура.Соответствие.КлючВнутри1"), "Результат должен совпадать с ожиданиями."); + + ВременныеФайлы.Удалить(); + +КонецПроцедуры + Функция ПолучитьНовыйМассив(ЗначенияМассив) Массив = Новый Массив();