| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- namespace Lua.Tests;
- public class LocalTests
- {
- [Test]
- public async Task Test_LocalFunction_Nil_1()
- {
- var source = @"
- local function f(x) x = nil; return x end
- return f(10)";
- var result = await LuaState.Create().DoStringAsync(source);
- Assert.That(result, Has.Length.EqualTo(1));
- Assert.That(result[0], Is.EqualTo(LuaValue.Nil));
- }
- [Test]
- public async Task Test_LocalFunction_Nil_2()
- {
- var source = @"
- local function f() local x; return x end
- return f(10)";
- var result = await LuaState.Create().DoStringAsync(source);
- Assert.That(result, Has.Length.EqualTo(1));
- Assert.That(result[0], Is.EqualTo(LuaValue.Nil));
- }
- [Test]
- public async Task Test_LocalFunction_Nil_3()
- {
- var source = @"
- local function f(x) x = nil; local y; return x, y end
- return f(10)";
- var result = await LuaState.Create().DoStringAsync(source);
- Assert.That(result, Has.Length.EqualTo(2));
- Assert.Multiple(() =>
- {
- Assert.That(result[0], Is.EqualTo(LuaValue.Nil));
- Assert.That(result[1], Is.EqualTo(LuaValue.Nil));
- });
- }
- [Test]
- public async Task Test_LocalVariable_1()
- {
- var source = "local i = 10; do local i = 100; return i end";
- var result = await LuaState.Create().DoStringAsync(source);
- Assert.That(result, Has.Length.EqualTo(1));
- Assert.That(result[0], Is.EqualTo(new LuaValue(100)));
- }
- [Test]
- public async Task Test_LocalVariable_2()
- {
- var source = @"
- local i = 10
- do local i = 100 end
- return i";
- var result = await LuaState.Create().DoStringAsync(source);
- Assert.That(result, Has.Length.EqualTo(1));
- Assert.That(result[0], Is.EqualTo(new LuaValue(10)));
- }
- }
|