From 70a3f231cf4d8bf76c3c73584502d6a3977167b1 Mon Sep 17 00:00:00 2001 From: Jackson Moore Date: Fri, 4 Sep 2026 12:40:08 +0200 Subject: Cancel finalized highlight timer --- tests/run.lua | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'tests') diff --git a/tests/run.lua b/tests/run.lua index 6244677..034d037 100644 --- a/tests/run.lua +++ b/tests/run.lua @@ -6297,6 +6297,31 @@ test("Full finalization removes owned registrations and window overlays", functi same(0, #state.finalizers) end) +test("Full finalization cancels the active highlight timer", function() + local state, transitions = fresh_sequence_state() + local host = MemoryHost.new() + local feedback = feedback_service.new({ + host = host, + transitions = transitions, + }) + local timer = host:start_timer(25, function() end) + transitions:SetHighlightTimer(timer) + + local cleanup = feedback:full_finalize("window-1") + + same(timer, cleanup.highlight_timer) + same(nil, state.highlight_timer) + falsy(host:timers()[timer].active) + local stopped + for _, operation in ipairs(host:operations()) do + if operation.operation == "stop_timer" and operation.identity == timer then + stopped = operation + end + end + truthy(stopped ~= nil) + truthy(stopped.stopped) +end) + for _, item in ipairs(tests) do local ok, failure = xpcall(item.body, debug.traceback) if not ok then -- cgit v1.2.3