Skip to content

Commit

Permalink
fix EvilBeaver#1424: рефлексия свойств у загруженного с контекстом сц…
Browse files Browse the repository at this point in the history
…енария +тест
  • Loading branch information
Mr-Rm committed Jul 18, 2024
1 parent 7992509 commit 192df7c
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 5 deletions.
12 changes: 7 additions & 5 deletions src/ScriptEngine/Machine/IRuntimeContextInstance.cs
Original file line number Diff line number Diff line change
Expand Up @@ -98,11 +98,13 @@ private static AnnotationDefinition[] HackGetAnnotations(IRuntimeContextInstance
if (!(context is UserScriptContextInstance userScript))
return Array.Empty<AnnotationDefinition>();

if (i == 0)
return Array.Empty<AnnotationDefinition>();

var variable = userScript.Module.Variables[i - 1];
return variable.Annotations;
if (userScript.PropDefinedInScript(i))
{
var variable = userScript.Module.Variables[i - 1];
return variable.Annotations;
}

return Array.Empty<AnnotationDefinition>();
}

public static IValue GetPropValue(this IRuntimeContextInstance context, string propName)
Expand Down
13 changes: 13 additions & 0 deletions tests/annotations.os
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
ВсеТесты.Добавить("ТестДолжен_ПроверитьПолучениеАннотацийПараметров");
ВсеТесты.Добавить("ТестДолжен_ПроверитьАннотацииПолейЗагрузитьСценарий");
ВсеТесты.Добавить("ТестДолжен_ПроверитьАннотацииПолейЗагрузитьСценарийИзСтроки");
ВсеТесты.Добавить("ТестДолжен_ПроверитьАннотацииПолейЗагрузитьСценарийСКонтекстом");

Возврат ВсеТесты;

Expand Down Expand Up @@ -197,4 +198,16 @@

КонецЕсли;

КонецПроцедуры

Процедура ТестДолжен_ПроверитьАннотацииПолейЗагрузитьСценарийСКонтекстом() Экспорт

ТекстСценария = "
|Рефлектор = Новый Рефлектор();
|ТаблицаСвойств = Рефлектор.ПолучитьТаблицуСвойств(ЭтотОбъект);
|";
Контекст = Новый Структура( "АргументыКоманднойСтроки", Новый Массив );

Сценарий = ЗагрузитьСценарийИзСтроки(ТекстСценария, Контекст);

КонецПроцедуры

0 comments on commit 192df7c

Please sign in to comment.