forked from sfaqer/OneUnit
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathАннотацияВключенДляOneScript.os
More file actions
48 lines (42 loc) · 2.43 KB
/
Copy pathАннотацияВключенДляOneScript.os
File metadata and controls
48 lines (42 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#Использовать semver
#Использовать annotations
Перем _Версия; // Проверяемая версия OneScript
// Аннотация определяет что тест выполняется только для версий OneScript соответствующих указанному диапазону.
// Диапазон задаётся по правилам библиотеки [semver](https://github.com/oscript-library/semver)
//
// Параметры:
// Значение - Строка - Диапазон проверяемой версии
// Причина - Строка - Причина почему тест пропущен, которая будет указана в отчете о тестировании
//
// Пример:
// 1.
// // Включен для OneScript версий младше 2
// //
// &Тест
// &ВключенДляOneScript("<2")
// Процедура Тест() Экспорт
//
// 2.
// // Включен для OneScript версий старше или равном 2
// //
// &Тест
// &ВключенДляOneScript("~2", "Используются фичи версии 2")
// Процедура Тест() Экспорт
//
&Аннотация("ВключенДляOneScript")
&ВключенЕсли(Значение = "")
Процедура ПриСозданииОбъекта(
Значение,
&ПсевдонимДля(Аннотация = "ВключенЕсли", Параметр = "Причина", ПереноситьЗначениеПоУмолчанию = Истина)
Причина = "Выключен для текущей версии OneScript"
)
_Версия = Значение;
КонецПроцедуры
Процедура ПриРазворачиванииАннотации(ОпределениеАннотации, ПодчиненныеАннотации, ВладелецСвойства, Свойство) Экспорт
Аннотация = РаботаСАннотациями.НайтиАннотацию(ПодчиненныеАннотации, "ВключенЕсли");
РаботаСАннотациями.УстановитьЗначениеПараметраАннотации(
Аннотация,
"Значение",
СтрШаблон("() -> Версии.ВерсияВДиапазоне(Новый СистемнаяИнформация().Версия, ""%1"");", _Версия)
);
КонецПроцедуры