using Lua.Standard; using System.Globalization; namespace Lua.Tests; public class LuaTests { LuaState state = default!; [SetUp] public void SetUp() { state = LuaState.Create(); state.OpenStandardLibraries(); } [Test] [TestCase("tests-lua/calls.lua")] [TestCase("tests-lua/closure.lua")] [TestCase("tests-lua/vararg.lua")] [TestCase("tests-lua/nextvar.lua")] [TestCase("tests-lua/math.lua")] [TestCase("tests-lua/bitwise.lua")] [TestCase("tests-lua/strings.lua")] [TestCase("tests-lua/coroutine.lua")] [TestCase("tests-lua/db.lua")] [TestCase("tests-lua/verybig.lua")] public async Task Test_Lua(string file) { var path = FileHelper.GetAbsolutePath(file); try { await state.DoFileAsync(FileHelper.GetAbsolutePath(file)); } catch (LuaRuntimeException e) { var traceback = e.LuaTraceback; var line = traceback.LastLine; throw new Exception($"{path}:line {line}\n{e.InnerException} {e} "); } } }