diff --git a/server/test/lua/script.cpp b/server/test/lua/script.cpp new file mode 100644 index 00000000..52e57788 --- /dev/null +++ b/server/test/lua/script.cpp @@ -0,0 +1,33 @@ +#include +#include "../../src/world/world.hpp" + +TEST_CASE("Lua script: no code, start/stop, disable", "[lua][lua-script]") +{ + auto world = World::create(); + REQUIRE(world); + + auto script = world->luaScripts->add(); + REQUIRE(script); + + REQUIRE_FALSE(script->disabled.value()); + REQUIRE(script->code.value().empty()); + REQUIRE(script->state.value() == LuaScriptState::Stopped); + + script->start(); + REQUIRE(script->state.value() == LuaScriptState::Running); + + script->stop(); + REQUIRE(script->state.value() == LuaScriptState::Stopped); + + script->disabled = true; + REQUIRE(script->state.value() == LuaScriptState::Disabled); + + script->start(); + REQUIRE(script->state.value() == LuaScriptState::Disabled); + + script->stop(); + REQUIRE(script->state.value() == LuaScriptState::Disabled); + + script.reset(); + world.reset(); +}