diff --git a/firmware/controllers/lua/lua.cpp b/firmware/controllers/lua/lua.cpp index 2c28a6ee18..0170ded3f5 100644 --- a/firmware/controllers/lua/lua.cpp +++ b/firmware/controllers/lua/lua.cpp @@ -140,8 +140,7 @@ static int lua_setTickRate(lua_State* l) { static void loadLibraries(LuaHandle& ls) { constexpr luaL_Reg libs[] = { - // TODO: do we even need the base lib? - //{ LUA_GNAME, luaopen_base }, + { LUA_GNAME, luaopen_base }, { LUA_MATHLIBNAME, luaopen_math }, }; diff --git a/unit_tests/tests/lua/test_lua_basic.cpp b/unit_tests/tests/lua/test_lua_basic.cpp index 5a8cf57c1d..f6fa2ddd29 100644 --- a/unit_tests/tests/lua/test_lua_basic.cpp +++ b/unit_tests/tests/lua/test_lua_basic.cpp @@ -25,6 +25,25 @@ TEST(LuaBasic, MathLib) { EXPECT_FLOAT_EQ(result, 1.0f); } +TEST(LuaBasic, iPairs) { + auto script = R"( + function testFunc() + counter = 0 +data = {0x5F, 0x59, 0xFF, 0x00, 0x34, 0x0D, 0x80, 0x99} +for i, v in ipairs(data) do + counter = counter + 1 + end + + return counter + end + )"; + + float result = testLuaReturnsNumber(script); + + EXPECT_FLOAT_EQ(result, 8); +} + + TEST(LuaBasic, MathLibFloor) { auto script = R"( function testFunc()