Add Function Calling

This commit is contained in:
2018-11-15 20:13:53 +01:00
parent 07660b6c46
commit d5c8a959fb
12 changed files with 224 additions and 30 deletions

View File

@@ -26,5 +26,43 @@ testFunc()
Assert.True(script.Scope.TryGet("a", out var a));
Assert.Equal(100, (long)(NumberLong)a);
}
[Fact]
public void ParameterTest()
{
const string input = @"
function testFunc (var1)
a = var1
end
a = 50
testFunc(100)
";
var script = new Script(input);
Assert.Empty(script.Diagnostics.Messages);
script.Evaluate();
Assert.Empty(script.Diagnostics.Messages);
Assert.True(script.Scope.TryGet("testFunc", out var func));
Assert.IsType<LuaFunction>(func);
Assert.True(script.Scope.TryGet("a", out var a));
Assert.Equal(100, (long)(NumberLong)a);
}
[Fact]
public void ParameterBindTest()
{
const string input = @"
function testFunc (var1)
b = var1 == true
end
testFunc(100)
";
var script = new Script(input);
Assert.Empty(script.Diagnostics.Messages);
script.Evaluate();
Assert.Empty(script.Diagnostics.Messages);
Assert.True(script.Scope.TryGet("testFunc", out var func));
Assert.IsType<LuaFunction>(func);
}
}
}