Skip to content

Commit

Permalink
Merge pull request #1484 from Mr-Rm/v2/fix-1481
Browse files Browse the repository at this point in the history
fix #1481: исправлено Вычислить() с именами параметров процедуры +тест
  • Loading branch information
EvilBeaver authored Jan 3, 2025
2 parents 71ccd4f + 2d19904 commit 985c65d
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
10 changes: 3 additions & 7 deletions src/OneScript.Core/Contexts/Variable.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,11 @@ public static IVariable Create(IValue val, string symbol)

public static IVariable CreateReference(IVariable variable, string refName)
{
if (variable is VariableReference vref)
if (variable is VariableReference vref && vref._reference is IndexedValueReference iv)
{
if (vref._reference is IndexedValueReference iv)
{
_ = iv.Value;
}

return variable;
_ = iv.Value; // проверить правильность индекса
}

return new VariableReference(variable, refName);
}

Expand Down
14 changes: 14 additions & 0 deletions tests/eval.os
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
ВсеТесты.Добавить("ТестДолжен_ПроверитьВложенныеВызовыВыполнить");
ВсеТесты.Добавить("ТестДолжен_ПроверитьВызовыВыполнитьСПопытками");
ВсеТесты.Добавить("ТестДолжен_ПроверитьРаботоспособностьВПодключенныхСценариях");
ВсеТесты.Добавить("ТестДолжен_ПроверитьРаботоспособностьСПараметрамиПроцедуры");

Возврат ВсеТесты;
КонецФункции
Expand Down Expand Up @@ -341,3 +342,16 @@
А.Тест();

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

Процедура РаботаСПараметрамиПроцедуры(Элемент1, Элемент2)
Рез = "";
Для Сч = 1 По 2 Цикл
Рез = Рез + Вычислить("Элемент" + Сч);
КонецЦикла;
юТест.ПроверитьРавенство("Поле1Поле2", Рез);
КонецПроцедуры

Процедура ТестДолжен_ПроверитьРаботоспособностьСПараметрамиПроцедуры() Экспорт
Структура=Новый Структура("Поле1,Поле2","Поле1","Поле2");
РаботаСПараметрамиПроцедуры(Структура.Поле1, Структура.Поле2);
КонецПроцедуры

0 comments on commit 985c65d

Please sign in to comment.