diff --git "a/src/\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML.os" "b/src/\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML.os" new file mode 100644 index 0000000..ac67ad9 --- /dev/null +++ "b/src/\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML.os" @@ -0,0 +1,79 @@ +/////////////////////////////////////////////////////////////////////////////// +// +// Служебный модуль с реализацией сценариев обработки файлов <ПроверкаКорректностиXML> +// +/////////////////////////////////////////////////////////////////////////////// + +Перем Лог; + +// ИмяСценария +// Возвращает имя сценария обработки файлов +// +// Возвращаемое значение: +// Строка - Имя текущего сценария обработки файлов +// +Функция ИмяСценария() Экспорт + + Возврат "ПроверкаКорректностиXML"; + +КонецФункции // ИмяСценария() + +// ОбработатьФайл +// Выполняет обработку файла +// +// Параметры: +// АнализируемыйФайл - Файл - Файл из журнала git для анализа +// КаталогИсходныхФайлов - Строка - Каталог расположения исходных файлов относительно каталог репозитория +// ДополнительныеПараметры - Структура - Набор дополнительных параметров, которые можно использовать +// * Лог - Объект - Текущий лог +// * ИзмененныеКаталоги - Массив - Каталоги, которые необходимо добавить в индекс +// * КаталогРепозитория - Строка - Адрес каталога репозитория +// * ФайлыДляПостОбработки - Массив - Файлы, изменившиеся / образовавшиеся в результате работы сценария +// и которые необходимо дообработать +// +// Возвращаемое значение: +// Булево - Признак выполненной обработки файла +// +Функция ОбработатьФайл(АнализируемыйФайл, КаталогИсходныхФайлов, ДополнительныеПараметры) Экспорт + + Лог = ДополнительныеПараметры.Лог; + НастройкиСценария = ДополнительныеПараметры.Настройки.Получить(ИмяСценария()); + Если АнализируемыйФайл.Существует() И ( + ТипыФайлов.ЭтоФайлОписанияКонфигурации(АнализируемыйФайл) ИЛИ + ТипыФайлов.ЭтоФайлОписанияКонфигурацииEDT(АнализируемыйФайл) ИЛИ + ТипыФайлов.ЭтоФайлОписанияМетаданных(АнализируемыйФайл) ИЛИ + ТипыФайлов.ЭтоФайлОписанияФормы(АнализируемыйФайл) ИЛИ + ТипыФайлов.ЭтоФайлОписанияПланаОбмена(АнализируемыйФайл) ИЛИ + ТипыФайлов.ЭтоФайлОписанияФункциональнойОпции(АнализируемыйФайл) + ) Тогда + + Лог.Информация("Обработка файла '%1' по сценарию '%2'", АнализируемыйФайл.ПолноеИмя, ИмяСценария()); + + ПроверитьНаКорректностьXML(АнализируемыйФайл.ПолноеИмя); + Возврат Истина; + + КонецЕсли; + + Возврат Ложь; + +КонецФункции // ОбработатьФайл() + +Процедура ПроверитьНаКорректностьXML(ПутьКФайлуМодуля) + + ФайлXML = Новый ЧтениеXML(); + Попытка + ФайлXML.ОткрытьФайл(ПутьКФайлуМодуля); + ФайлXML.ПерейтиКСодержимому(); + Пока ФайлXML.Прочитать() Цикл + КонецЦикла; + ФайлXML.Закрыть(); + Исключение + Инфо = ИнформацияОбОшибке(); + ТекстОшибки = СтрШаблон("В файле '%1' нарушена корректность XML: %2", ПутьКФайлуМодуля, Инфо.Описание); + Лог.Ошибка(ТекстОшибки); + + ВызватьИсключение ТекстОшибки; + + КонецПопытки; + +КонецПроцедуры diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" new file mode 100644 index 0000000..2cc8019 --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" @@ -0,0 +1,15 @@ + + + + + Справочник + + + ru + Справочник & Тест + + + + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.mdo" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.mdo" new file mode 100644 index 0000000..3d51b4b --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.mdo" @@ -0,0 +1,9 @@ + + + Справочник + + ru + Справочник + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" new file mode 100644 index 0000000..b925c85 --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" @@ -0,0 +1,15 @@ + + + + + Справочник + + + ru + Справочник + + + + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Configurator/Configuration.xml" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Configurator/Configuration.xml" new file mode 100644 index 0000000..255479a --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Configurator/Configuration.xml" @@ -0,0 +1,15 @@ + + + + + ТестоваяКонфигурация + + + ru + ТестоваяКонфигурация + + + + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Configurator/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Configuration.xml" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Configurator/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Configuration.xml" new file mode 100644 index 0000000..fd94327 --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Configurator/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Configuration.xml" @@ -0,0 +1,15 @@ + + + + + ТестоваяКонфигурация + + + ru + ТестоваяКонфигурация + + + + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/EDT/Configuration.mdo" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/EDT/Configuration.mdo" new file mode 100644 index 0000000..829466b --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/EDT/Configuration.mdo" @@ -0,0 +1,9 @@ + + + ТестоваяКонфигурация + + ru + ТестоваяКонфигурация + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/EDT/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Configuration.mdo" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/EDT/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Configuration.mdo" new file mode 100644 index 0000000..7618341 --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/EDT/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Configuration.mdo" @@ -0,0 +1,9 @@ + + + ТестоваяКонфигурация + + ru + ТестоваяКонфигурация + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\260/Content.xml" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\260/Content.xml" new file mode 100644 index 0000000..7288cdc --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\260/Content.xml" @@ -0,0 +1,15 @@ + + + + + ПланОбмена + + + ru + ПланОбмена + + + + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\260/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Content.xml" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\260/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Content.xml" new file mode 100644 index 0000000..0740b2f --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\260/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Content.xml" @@ -0,0 +1,15 @@ + + + + + ПланОбмена + + + ru + ПланОбмена + + + + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\260/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\260.mdo" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\260/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\260.mdo" new file mode 100644 index 0000000..bafabb7 --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\260/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\260.mdo" @@ -0,0 +1,9 @@ + + + ПланОбмена + + ru + ПланОбмена + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Forms/Configurator/Form.xml" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Forms/Configurator/Form.xml" new file mode 100644 index 0000000..b7fe673 --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Forms/Configurator/Form.xml" @@ -0,0 +1,13 @@ + +
+ + Форма + + + ru + Форма + + + +
+ diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Forms/Configurator/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Form.xml" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Forms/Configurator/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Form.xml" new file mode 100644 index 0000000..52a74ac --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Forms/Configurator/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Form.xml" @@ -0,0 +1,13 @@ + +
+ + Форма + + + ru + Форма & Тест + + + +
+ diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Forms/EDT/Form.form" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Forms/EDT/Form.form" new file mode 100644 index 0000000..6f06b4a --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Forms/EDT/Form.form" @@ -0,0 +1,110 @@ + + + + ГруппаШапка + 1 + + Использовать + 2 + true + true + + Объект.Использовать + + Right + CheckBoxField + Left + Enter + true + Left + true + + CheckBox + + + true + true + + <key>ru</key> + <value>Группа шапка</value> + + UsualGroup + + true + true + Auto + Auto + + + + Ответственный + 3 + true + true + + Объект.Ответственный + + InputField + Enter + true + Left + true + + true + true + true + true + true + + + + ФормаКоманднаяПанель + -1 + + ФормаЗаписатьИЗакрыть + 4 + true + true + Form.Command.ЗаписатьОбъектИЗакрыть + Auto + true + true + UserCmds + Auto + + + ФормаЗаписать + 5 + true + true + Form.Command.ЗаписатьОбъект + Auto + true + true + UserCmds + Auto + + true + true + Left + true + + Help + Write + WriteAndClose + 800 + LockOwnerWindow + true + true + Vertical + true + true + UseIfNecessary + true + true + + + + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Forms/EDT/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Form.form" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Forms/EDT/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Form.form" new file mode 100644 index 0000000..67dd707 --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/Forms/EDT/\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\265/Form.form" @@ -0,0 +1,8 @@ + + + + ГруппаШапка + 1 + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/FunctionalOptions/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\260\321\217\320\236\320\277\321\206\320\270\321\217/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\260\321\217\320\236\320\277\321\206\320\270\321\217.mdo" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/FunctionalOptions/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\260\321\217\320\236\320\277\321\206\320\270\321\217/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\260\321\217\320\236\320\277\321\206\320\270\321\217.mdo" new file mode 100644 index 0000000..c89c042 --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/FunctionalOptions/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\260\321\217\320\236\320\277\321\206\320\270\321\217/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\260\321\217\320\236\320\277\321\206\320\270\321\217.mdo" @@ -0,0 +1,9 @@ + + + ФункциональнаяОпция + + ru + ФункциональнаяОпция + + + diff --git "a/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/FunctionalOptions/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\260\321\217\320\236\320\277\321\206\320\270\321\217/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\260\321\217\320\236\320\277\321\206\320\270\321\217.xml" "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/FunctionalOptions/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\260\321\217\320\236\320\277\321\206\320\270\321\217/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\260\321\217\320\236\320\277\321\206\320\270\321\217.xml" new file mode 100644 index 0000000..8a1cee2 --- /dev/null +++ "b/tests/fixtures/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\321\201\321\202\320\270XML/FunctionalOptions/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\260\321\217\320\236\320\277\321\206\320\270\321\217/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\260\321\217\320\236\320\277\321\206\320\270\321\217.xml" @@ -0,0 +1,15 @@ + + + + + ФункциональнаяОпция + + + ru + ФункциональнаяОпция + + + + + + diff --git "a/tests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270.os" "b/tests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270.os" index 9198145..9139755 100644 --- "a/tests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270.os" +++ "b/tests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270.os" @@ -49,6 +49,10 @@ ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСообщениеКоммитаОбрабатываютФайлыТолькоВУказанномКаталоге"); ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоВыполняютсяПринудительноУказанныеЛокальныеСценарии"); ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоВыполняютсяВсеЛокальныеСценарии"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиКорректностиXMLОбработаетКорректныеФайлы"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиКорректностиXMLВызываетИсключение"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиКорректностиXMLНеОбработаетНесуществующийФайл"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиКорректностиXMLНеОбработаетНеXMLФайл"); Возврат ВсеТесты; @@ -343,6 +347,134 @@ #КонецОбласти +#Область ПроверкаКорректностиXML + +Процедура ТестДолжен_ПроверитьЧтоСценарийПроверкиКорректностиXMLОбработаетКорректныеФайлы() Экспорт + + ОбъектСценария = ПолучитьСценарий("ПроверкаКорректностиXML.os"); + ДополнительныеНастройки = ПолучитьДополнительныеНастройки(); + + // Проверка Configuration.xml (формат конфигуратора) + ПутьККонфигурации = ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаКорректностиXML", "Configurator"); + Файл = Новый Файл(ОбъединитьПути(ПутьККонфигурации, "Configuration.xml")); + Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ДополнительныеНастройки); + Ожидаем.Что(Результат, "Configuration.xml должен быть обработан").ЭтоИстина(); + + // Проверка Configuration.mdo (формат EDT) + ПутьККонфигурации = ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаКорректностиXML", "EDT"); + Файл = Новый Файл(ОбъединитьПути(ПутьККонфигурации, "Configuration.mdo")); + Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ДополнительныеНастройки); + Ожидаем.Что(Результат, "Configuration.mdo должен быть обработан").ЭтоИстина(); + + // Проверка Form.xml (формат конфигуратора) + ПутьКФорме = ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаКорректностиXML", "Forms", "Configurator"); + Файл = Новый Файл(ОбъединитьПути(ПутьКФорме, "Form.xml")); + Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ДополнительныеНастройки); + Ожидаем.Что(Результат, "Form.xml должен быть обработан").ЭтоИстина(); + + // Проверка Form.form (формат EDT) + ПутьКФорме = ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаКорректностиXML", "Forms", "EDT"); + Файл = Новый Файл(ОбъединитьПути(ПутьКФорме, "Form.form")); + Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ДополнительныеНастройки); + Ожидаем.Что(Результат, "Form.form должен быть обработан").ЭтоИстина(); + + // Проверка метаданных (справочник, формат конфигуратора) + ПутьКСправочнику = ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаКорректностиXML", "Catalogs", "Справочник"); + Файл = Новый Файл(ОбъединитьПути(ПутьКСправочнику, "Справочник.xml")); + Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ДополнительныеНастройки); + Ожидаем.Что(Результат, "Метаданные.xml должен быть обработан").ЭтоИстина(); + + // Проверка метаданных (справочник, формат EDT) + ПутьКСправочнику = ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаКорректностиXML", "Catalogs", "Справочник"); + Файл = Новый Файл(ОбъединитьПути(ПутьКСправочнику, "Справочник.mdo")); + Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ДополнительныеНастройки); + Ожидаем.Что(Результат, "Метаданные.mdo должен быть обработан").ЭтоИстина(); + + // Проверка плана обмена (формат конфигуратора) + ПутьКПлануОбмена = ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаКорректностиXML", "ExchangePlans", "ПланОбмена"); + Файл = Новый Файл(ОбъединитьПути(ПутьКПлануОбмена, "Content.xml")); + Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ДополнительныеНастройки); + Ожидаем.Что(Результат, "Content.xml плана обмена должен быть обработан").ЭтоИстина(); + + // Проверка плана обмена (формат EDT) + ПутьКПлануОбмена = ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаКорректностиXML", "ExchangePlans", "ПланОбмена"); + Файл = Новый Файл(ОбъединитьПути(ПутьКПлануОбмена, "ПланОбмена.mdo")); + Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ДополнительныеНастройки); + Ожидаем.Что(Результат, "ПланОбмена.mdo должен быть обработан").ЭтоИстина(); + + // Проверка функциональной опции (формат конфигуратора) + ПутьКФункциональнойОпции = ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаКорректностиXML", "FunctionalOptions", "ФункциональнаяОпция"); + Файл = Новый Файл(ОбъединитьПути(ПутьКФункциональнойОпции, "ФункциональнаяОпция.xml")); + Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ДополнительныеНастройки); + Ожидаем.Что(Результат, "ФункциональнаяОпция.xml должен быть обработан").ЭтоИстина(); + + // Проверка функциональной опции (формат EDT) + ПутьКФункциональнойОпции = ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаКорректностиXML", "FunctionalOptions", "ФункциональнаяОпция"); + Файл = Новый Файл(ОбъединитьПути(ПутьКФункциональнойОпции, "ФункциональнаяОпция.mdo")); + Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ДополнительныеНастройки); + Ожидаем.Что(Результат, "ФункциональнаяОпция.mdo должен быть обработан").ЭтоИстина(); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьЧтоСценарийПроверкиКорректностиXMLВызываетИсключение() Экспорт + + ОбъектСценария = ПолучитьСценарий("ПроверкаКорректностиXML.os"); + + // Проверка незакрытого тега в Configuration.xml + ПутьКФикстурам = ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаКорректностиXML"); + ПутьККонфигурации = ОбъединитьПути(ПутьКФикстурам, "Configurator", "Некорректные"); + Файл = Новый Файл(ОбъединитьПути(ПутьККонфигурации, "Configuration.xml")); + ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "нарушена корректность XML"); + + // Проверка неправильной структуры в Configuration.mdo + ПутьККонфигурации = ОбъединитьПути(ПутьКФикстурам, "EDT", "Некорректные"); + Файл = Новый Файл(ОбъединитьПути(ПутьККонфигурации, "Configuration.mdo")); + ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "нарушена корректность XML"); + + // Проверка неправильного символа в Form.xml + ПутьКФорме = ОбъединитьПути(ПутьКФикстурам, "Forms", "Configurator", "Некорректные"); + Файл = Новый Файл(ОбъединитьПути(ПутьКФорме, "Form.xml")); + ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "нарушена корректность XML"); + + // Проверка незакрытого тега в Form.form + ПутьКФорме = ОбъединитьПути(ПутьКФикстурам, "Forms", "EDT", "Некорректные"); + Файл = Новый Файл(ОбъединитьПути(ПутьКФорме, "Form.form")); + ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "нарушена корректность XML"); + + // Проверка неправильной структуры в Content.xml (план обмена) + ПутьКПлануОбмена = ОбъединитьПути(ПутьКФикстурам, "ExchangePlans", "ПланОбмена", "Некорректные"); + Файл = Новый Файл(ОбъединитьПути(ПутьКПлануОбмена, "Content.xml")); + ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "нарушена корректность XML"); + + // Проверка неправильного символа в метаданных (справочник) + ПутьКСправочнику = ОбъединитьПути(ПутьКФикстурам, "Catalogs", "Справочник", "Некорректные"); + Файл = Новый Файл(ОбъединитьПути(ПутьКСправочнику, "Справочник.xml")); + ВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "нарушена корректность XML"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьЧтоСценарийПроверкиКорректностиXMLНеОбработаетНесуществующийФайл() Экспорт + + Файл = Новый Файл(ПолучитьИмяВременногоФайла("xml")); + ОбъектСценария = ПолучитьСценарий("ПроверкаКорректностиXML.os"); + Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ПолучитьДополнительныеНастройки()); + + Ожидаем.Что(Результат, Истина).ЭтоЛожь(); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьЧтоСценарийПроверкиКорректностиXMLНеОбработаетНеXMLФайл() Экспорт + + Файл = Новый Файл(МенеджерВременныхФайлов.СоздатьФайл("bsl")); + ОбъектСценария = ПолучитьСценарий("ПроверкаКорректностиXML.os"); + Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ПолучитьДополнительныеНастройки()); + + Ожидаем.Что(Результат, Истина).ЭтоЛожь(); + +КонецПроцедуры + +#КонецОбласти + #Область СинхронизацияОбъектовМетаданныхИФайлов Процедура ТестДолжен_ПроверитьЧтоСинхронизацияОбъектовМетаданныхВызываетИсключение() Экспорт