1
0
mirror of https://github.com/Refactorio/RedMew.git synced 2024-12-14 10:13:13 +02:00
RedMew/utils/test/context.lua
2020-11-13 20:06:43 +00:00

30 lines
621 B
Lua

local Public = {}
Public.__index = Public
function Public.new(player)
return setmetatable({player = player, _steps = {}, _teardowns = {}}, Public)
end
function Public.timeout(self, delay, func)
local steps = self._steps
steps[#steps + 1] = {func = func, delay = delay or 1}
return self
end
function Public.next(self, func)
return self:timeout(1, func)
end
function Public.wait(self, delay)
return self:timeout(delay, function()
end)
end
function Public.add_teardown(self, func)
local teardowns = self._teardowns
teardowns[#teardowns + 1] = func
return self
end
return Public