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.51 KB
/
Copy pathАннотацияВыключенДляOneScript.os
File metadata and controls
48 lines (42 loc) · 2.51 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")
// Процедура Тест() Экспорт
//
// 2.
// // Выключен для OneScript версий старше или равном 2
// //
// &Тест
// &ВыключенДляOneScript(">=2", "Двойка ещё не поддерживается")
// Процедура Тест() Экспорт
//
&Аннотация("ВыключенДляOneScript")
&ВыключенЕсли(Значение = "")
Процедура ПриСозданииОбъекта(
Значение,
&ПсевдонимДля(Аннотация = "ВыключенЕсли", Параметр = "Причина", ПереноситьЗначениеПоУмолчанию = Истина)
Причина = "Выключен для текущей версии OneScript"
)
_Версия = Значение;
КонецПроцедуры
Процедура ПриРазворачиванииАннотации(ОпределениеАннотации, ПодчиненныеАннотации, ВладелецСвойства, Свойство) Экспорт
Аннотация = РаботаСАннотациями.НайтиАннотацию(ПодчиненныеАннотации, "ВыключенЕсли");
РаботаСАннотациями.УстановитьЗначениеПараметраАннотации(
Аннотация,
"Значение",
СтрШаблон("() -> Версии.ВерсияВДиапазоне(Новый СистемнаяИнформация().Версия, ""%1"");", _Версия)
);
КонецПроцедуры