Add special case for frozen tables

Sources will now check if frozen tables are equal before updating
dependencies.
This commit is contained in:
aaron 2023-08-12 11:11:21 +01:00
parent 744cce0fb6
commit afd863285b
3 changed files with 23 additions and 1 deletions

View file

@ -192,6 +192,27 @@ TEST("source()", function()
state(state())
CHECK(updates == 1)
end
do CASE "does not update if same value is frozen table"
local a = table.freeze {}
local b = table.freeze {}
local state = source(a)
local updates = -1
watch(function()
state()
updates += 1
end)
CHECK(updates == 0)
state(a)
CHECK(updates == 0)
state(b)
CHECK(updates == 1)
state(b)
CHECK(updates == 1)
end
end)
TEST("derive()", function()