test: use lute for tests

This commit is contained in:
littensy 2025-12-01 17:29:39 -08:00
parent 72b290219d
commit a20ee3698a
47 changed files with 190 additions and 236 deletions

View file

@ -1,46 +0,0 @@
local Charm = require("../../Charm")
local ReactCharm = require("../")
local renderHook = require("./helpers/renderHook")
local suite = require("../../../../test/suite")
local test = suite.test
test("tracks signal state", function()
local getState, setState = Charm.signal(0)
local hook = renderHook(function()
return ReactCharm.useSignalBinding(getState)
end)
assert(hook.result:getValue() == 0, "should return 0")
setState(1)
assert(hook.result:getValue() == 1, "should return 1")
end)
test("accepts a selector", function()
local getState, setState = Charm.signal(0)
local hook = renderHook(function()
return ReactCharm.useSignalBinding(function()
return 2 * getState()
end)
end)
assert(hook.result:getValue() == 0, "should return 0")
setState(1)
assert(hook.result:getValue() == 2, "should return 2")
end)
test("tracks dependencies", function()
local getState, setState = Charm.signal(0)
local hook = renderHook(function()
return ReactCharm.useSignalBinding(getState, { getState })
end)
assert(hook.result:getValue() == 0, "should return 0")
setState(1)
assert(hook.result:getValue() == 1, "should return 1")
getState, setState = Charm.signal(0)
hook.rerender()
assert(hook.result:getValue() == 0, "should return 0")
setState(1)
assert(hook.result:getValue() == 1, "should return 1")
end)
return {}