mirror of
https://github.com/littensy/charm.git
synced 2026-10-21 11:44:08 +00:00
* refactor!: use atom functions * docs: reformat api reference * docs: showcase atom functions * docs: remove unused import * refactor: finalize updates * chore: misc edits
30 lines
538 B
Lua
30 lines
538 B
Lua
local atom = require(script.Parent.Parent.atom)
|
|
local effect = require(script.Parent.Parent.effect)
|
|
|
|
return function()
|
|
it("runs on state change", function()
|
|
local a = atom(0)
|
|
local b = atom(0)
|
|
local current
|
|
local unsubscribe = effect(function()
|
|
current = a() + b()
|
|
end)
|
|
|
|
expect(current).to.equal(0)
|
|
|
|
for index = 1, 3 do
|
|
a(index)
|
|
expect(current).to.equal(index)
|
|
end
|
|
|
|
for index = 1, 3 do
|
|
b(index)
|
|
expect(current).to.equal(a() + index)
|
|
end
|
|
|
|
unsubscribe()
|
|
a(4)
|
|
|
|
expect(current).to.equal(6)
|
|
end)
|
|
end
|