swap order of flush

This commit is contained in:
alice 2024-08-15 02:04:42 +02:00 committed by centau
parent 244dd46340
commit d341eff5c8
2 changed files with 15 additions and 5 deletions

View file

@ -16,8 +16,8 @@ local function batch(setter: () -> ())
local ok, err: string? = pcall(setter) local ok, err: string? = pcall(setter)
if not already_batching then if not already_batching then
flags.batch = false
flush() flush()
flags.batch = false
end end
if not ok then throw(`error occured while batching updates: {err}`) end if not ok then throw(`error occured while batching updates: {err}`) end

View file

@ -1925,14 +1925,27 @@ TEST("batch()", wrap_root(function()
local a0 = source(0) local a0 = source(0)
local a1 = source(1) local a1 = source(1)
local a2 = source(0)
local updates = 0
derive(function() derive(function()
a0(a1() + 1) a0(a1() + 1)
end) end)
derive(function() derive(function()
updates += 1
a0() a0()
batch(function()
a2(a0())
end)
return 1
end)
derive(function()
a2()
batch(function() batch(function()
end) end)
@ -1941,10 +1954,7 @@ TEST("batch()", wrap_root(function()
end) end)
a1(2) a1(2)
CHECK(updates == 2)
-- if it didnt error, all is fine!
CHECK(true)
end end
end)) end))