Skip to content

Commit

Permalink
Add repeated read test
Browse files Browse the repository at this point in the history
  • Loading branch information
centau committed Oct 25, 2023
1 parent 8218e47 commit 1525585
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 39 deletions.
38 changes: 0 additions & 38 deletions src/graph.luau
Original file line number Diff line number Diff line change
Expand Up @@ -181,44 +181,6 @@ local function evaluate_node<T>(node: Node<T>)
return cur_value ~= new_value -- node has changed value
end

-- local function update_from<T>(node: StartNode<T>, n0: number)
-- if not node[1] then return end

-- local n = n0

-- -- unparent all children and queue for eval
-- do
-- local child = node[1]
-- while child do
-- --assert(child.parents.owner)
-- unparent(child)
-- n += 1
-- update_queue[n] = child
-- child = node[1]
-- end
-- end

-- update_queue.n = n

-- -- evaluate all queued children
-- for i = n0 + 1, n do
-- local child = update_queue[i]
-- assert(type(child.effect) == "function")

-- if evaluate_node(child) then
-- update_from(child, n)
-- end

-- update_queue[i] = false :: any -- false instead of nil to avoid sparse
-- end

-- update_queue.n = n0
-- end

-- local function update<T>(node: StartNode<T>)
-- update_from(node, update_queue.n)
-- end

local function queue_children<T>(node: StartNode<T>)
local i = update_queue.n
local child = node[1]
Expand Down
9 changes: 8 additions & 1 deletion test/tests.luau
Original file line number Diff line number Diff line change
Expand Up @@ -1969,7 +1969,6 @@ TEST("graph edge cases", wrap_root(function()

a(1)

print(e())
CHECK(count.b == 2)
CHECK(count.c == 2)
CHECK(count.d == 2)
Expand All @@ -1985,7 +1984,15 @@ TEST("graph edge cases", wrap_root(function()
end

do CASE "repeated read"
local a = source(0)
local b = derive(function() return a() + a() end)

local count = 0
effect(function() b(); count += 1 end)

a(1)
CHECK(b() == 2)
CHECK(count == 2)
end
end))

Expand Down

0 comments on commit 1525585

Please sign in to comment.