1
0
mirror of https://github.com/bia-technologies/snippet-transform.git synced 2025-07-04 20:28:44 +02:00

ONECICD-19 Первая версия

This commit is contained in:
aleksey.koryakin
2019-03-25 14:20:57 +03:00
committed by Maxmov Valery
parent f99f0558b2
commit e5d06afe0e
34 changed files with 3311 additions and 2 deletions

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<templates>
<template autoinsert="true" context="com._1c.g5.v8.dt.bsl.Bsl.AddHandlerStatement" deleted="false" description="DEPRECATED" enabled="true" name="ЗапретитьИспользование">#Если НЕ ВебКлиент Тогда
Выполнить(СервисныйОбщегоНазначенияПовтИсп.ЗапретитьИспользованиеФункционала(
"${ЗапрещенныйФункционалМетод}", // Запрещенный функционал, метод
"${ФункционалДляЗаменыНеобязательно}", // Функционал для замены
"${КомментарийПояснениеНеобязательно}", // Комментарий / пояснение
${ДатаЗапретаВТестовойНеобязательноВидДатаГГГГММДД}, // Дата запрета в тестовой
${ДатаЗапретаВРабочейНеобязательноВидДатаГГГГММДД}) // Дата запрета в рабочей
);
#КонецЕсли </template>
<template autoinsert="true" context="com._1c.g5.v8.dt.bsl.Bsl.AddHandlerStatement" deleted="false" description="Инкремент" enabled="true" name="++">${Операнд} = ${Операнд} + 1;</template>
<template autoinsert="true" context="com._1c.g5.v8.dt.bsl.Bsl.AddHandlerStatement" deleted="false" description="ТекущаяДата" enabled="true" name="ТекущаяДата">ТекущаяДата = '${n1:date(dd.MM.yyyy)}';</template>
</templates>

View File

@ -0,0 +1,85 @@
{1,
{3,
{"Тест",1,0,"",""},
{0,
{"Общий модуль",0,0,"Модуль[Общий]","//⇗ ⇘ ⇙ ⇚ ⇛ ⇜ ⇝ ⇞ ⇟ ⇠ ⇡ ⇢ ⇣ ⇤ ⇥ ⇦ ⇧ ⇨ ⇩ ⇪ ⇫ ⇬ ⇭ ⇮ ⇯ ⇰ ⇱ ⇲ ⇳ ⇴ ⇵ ⇶ ⇷ ⇸ ⇹ ⇺ //
//
// © ООО ""Моя компания"" (My company). 1234-5678.
// Все права защищены.
//
// Все торговые марки являются собственностью их правообладателей.
//
// Настоящий результат интеллектуальной деятельности является собственностью
// ООО ""Моя компания"" (UID 337c95d2-d846-4822-8cb4-79abc804dd95), и только
// ее, а не кого-то иного.
//
// Любые действия (бездействие, наплевательского отношение, порча имущества),
// направленные на использование (неиспользование, отрицание) настоящего
// результата интеллектуальной (и не очень) деятельности, включая
// (но не ограничиваясь) изучение, исследование, курение, медитацию, поиск кошек
// в темной комнате, испытание его функционирования; воспроизводство
// и преобразование объектного кода в исходный текст (это так юридически
// зовется декомпилирование); смотрение и использование; еще какой-то бред;
// результата интеллектуальной деятельности с иным программным обеспечением,
// возможны только с предварительного согласия правообладателя (побожиться).
//
// Нарушение прав ООО ""Моя компания"" на данный результат интеллектуальной
// деятельности будет преследоваться и пресекаться правообладателем
// в соответствии с законом, а если не получится, то караться в соответствии с
// моральными принципами и устоями конкретного безумца.
//
//ℋ ℌ ℍ ℎ ℏ ℐ ℑ ℒ ℓ ℔ ℕ № ℗ ℘ ℙ ℚ ℛ ℜ ℝ ℞ ℟ ℠ ℡ ™ ℣ ℤ ℥ Ω ℧ ℨ ℩ K Å ℬ ℭ ℮ ℯ ℰ ℱ//
/////////////////////////////////////////////////////////////////////////////////
// <?""Заголовок модуля: краткое описание и условия применения модуля.>"">
//
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
// Экспортные процедуры и функции, предназначенные для использования другими
// объектами конфигурации или другими программами
/////////////////////////////////////////////////////////////////////////////////
#Область ПрограммныйИнтерфейс
#КонецОбласти
/////////////////////////////////////////////////////////////////////////////////
// Экспортные процедуры и функции для служебного использования внутри подсистемы
/////////////////////////////////////////////////////////////////////////////////
#Область СлужебныйПрограммныйИнтерфейс
#КонецОбласти
/////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции, составляющие внутреннюю реализацию модуля
/////////////////////////////////////////////////////////////////////////////////
#Область СлужебныеПроцедурыИФункции
#КонецОбласти
"}
},
{2,
{"Группа",1,0,"",""},
{0,
{"DEPRECATED",0,0,"Запре[титьИспользование]","#Если НЕ ВебКлиент Тогда
Выполнить(СервисныйОбщегоНазначенияПовтИсп.ЗапретитьИспользованиеФункционала(
""<?""Запрещенный функционал, метод"">"", // Запрещенный функционал, метод
""<?""Функционал для замены (необязательно)"">"", // Функционал для замены
""<?""Комментарий / пояснение (необязательно)"">"", // Комментарий / пояснение
<?""Дата запрета в тестовой (необязательно, вид Дата(ГГГГ, ММ, ДД))"">, // Дата запрета в тестовой
<?""Дата запрета в рабочей (необязательно, вид Дата(ГГГГ, ММ, ДД))"">) // Дата запрета в рабочей
);
#КонецЕсли "}
},
{0,
{"Инкремент",0,0,"++","<?""Операнд""> = <?""Операнд""> + 1;"}
}
},
{0,
{"Пустая группа",1,0,"",""}
}
}
}

View File

@ -0,0 +1,18 @@
{1,
{3,
{"ЧастичноПоддерживаемыйФункционал",1,0,"",""},
{0,
{"#Если",0,0,"№Ес[ли]","#Если <?"""", ВыборВарианта, ""Клиент"", ""Клиент"", ""Сервер"", ""Сервер"", ""ВнешнееСоединение"", ""ВнешнееСоединение"" ,""ТолстыйКлиентОбычноеПриложение"", ""ТолстыйКлиентОбычноеПриложение"", ""ТолстыйКлиентУправляемоеПриложение"",""ТолстыйКлиентУправляемоеПриложение"", ""ТонкийКлиент"", ""ТонкийКлиент"", ""ВебКлиент"", ""ВебКлиент""> Тогда
<?>
#КонецЕсли"}
},
{0,
{"Формат",0,0,"Формат","Формат(<?>, ""<?, ФорматнаяСтрока>"")"}
},
{0,
{"УстановитьЗначениеКонстанты",0,0,"УстановитьЗнач[ениеКонстанты]","ОбщегоНазначенияСервер.УстановитьЗначениеКонстанты(""<?""Выберите константу"", Константа>"", <?>);"}
}
}
}

View File

@ -0,0 +1,133 @@
///////////////////////////////////////////////////////////////////
//
// Тестирование основной функциональности пакета
// Проверка на соответствие выгрузки эталону
//
// (с) BIA Technologies, LLC
//
///////////////////////////////////////////////////////////////////
#Использовать asserts
#Использовать tempfiles
#Использовать ".."
///////////////////////////////////////////////////////////////////
Перем МенеджерВременныхФайлов;
///////////////////////////////////////////////////////////////////
// Программный интерфейс
///////////////////////////////////////////////////////////////////
Функция ПолучитьСписокТестов(Знач ЮнитТестирование) Экспорт
МассивТестов = Новый Массив;
МассивТестов.Добавить("ТестПрочитатьШаблон");
МассивТестов.Добавить("ТестЗаписатьШаблон");
МассивТестов.Добавить("ТестПрочитатьИЗаписатьШаблон");
Возврат МассивТестов;
КонецФункции
Процедура ПередЗапускомТеста() Экспорт
МенеджерВременныхФайлов = Новый МенеджерВременныхФайлов;
КонецПроцедуры
Процедура ПослеЗапускаТеста() Экспорт
МенеджерВременныхФайлов.Удалить();
КонецПроцедуры
///////////////////////////////////////////////////////////////////
// Шаги
///////////////////////////////////////////////////////////////////
Процедура ТестПрочитатьШаблон() Экспорт
Шаблон = ШаблоныКонфигуратора.ПрочитатьШаблон(ОбъединитьПути(КаталогФикстур(), "snippets", "ШаблонКонфигуратора.st"));
Утверждения.ПроверитьРавенство(Шаблон.Элементы.Количество(), 3, "Количество элементов шаблона равно 3");
КонецПроцедуры
Процедура ТестЗаписатьШаблон() Экспорт
Шаблон = ШаблоныБазовый.КорневойЭлемент();
Группа = ШаблоныБазовый.Группа();
Группа.Наименование = "Группа";
Шаблон.Элементы.Добавить(Группа);
Элемент = ШаблоныБазовый.Элемент();
Элемент.Наименование = "Сообщить";
Элемент.ТекстЗамены = "Соо[бщить]";
Элемент.Шаблон = "Сообщить();";
Шаблон.Элементы.Добавить(Элемент);
Элемент = ШаблоныБазовый.Элемент();
Элемент.Наименование = "Сообщить2";
Элемент.ТекстЗамены = "Соо[бщить2]";
Элемент.Шаблон = "Сообщить(2);";
Группа.Элементы.Добавить(Элемент);
ИмяФайла = МенеджерВременныхФайлов.НовоеИмяФайла("st");
ШаблоныКонфигуратора.ЗаписатьШаблон(Шаблон, ИмяФайла);
ТекстФайла = ПрочитатьФайл(ИмяФайла);
Эталон =
"{1,
|{2,
|{""Корень"",1,0,"""",""""},
|{1,
|{""Группа"",1,0,"""",""""},
|{0,
|{""Сообщить2"",0,0,""Соо[бщить2]"",""Сообщить(2);""}
|}
|},
|{0,
|{""Сообщить"",0,0,""Соо[бщить]"",""Сообщить();""}
|}
|}
|}";
Утверждения.ПроверитьРавенство(ТекстФайла, Эталон, "Текст шаблона не соответствует ожидаемому");
КонецПроцедуры
Процедура ТестПрочитатьИЗаписатьШаблон() Экспорт
ИмяБазовогоШаблона = ОбъединитьПути(КаталогФикстур(), "snippets", "ШаблонКонфигуратора.st");
ИмяНовогоШаблона = МенеджерВременныхФайлов.НовоеИмяФайла("st");
Шаблон = ШаблоныКонфигуратора.ПрочитатьШаблон(ИмяБазовогоШаблона);
ШаблоныКонфигуратора.ЗаписатьШаблон(Шаблон, ИмяНовогоШаблона);
Утверждения.ПроверитьРавенство(ПрочитатьФайл(ИмяБазовогоШаблона), ПрочитатьФайл(ИмяНовогоШаблона), "Текст шаблона не должен измениться");
КонецПроцедуры
///////////////////////////////////////////////////////////////////
// Служебный функционал
///////////////////////////////////////////////////////////////////
Функция КаталогФикстур()
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "..", "tests", "fixtures");
КонецФункции
Функция ПрочитатьФайл(Файл)
Чтение = Новый ЧтениеТекста(Файл, КодировкаТекста.UTF8NoBOM);
Текст = Чтение.Прочитать();
Чтение.Закрыть();
Возврат Текст;
КонецФункции