summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/run.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/run.lua b/tests/run.lua
index 7e49e62..db19ffa 100644
--- a/tests/run.lua
+++ b/tests/run.lua
@@ -7706,6 +7706,30 @@ test("ActionFacade returns typed primary action outcomes", function()
end, "clever-f: Invalid mapping 'x'")
end)
+test("Same-direction explicit coordination reads current-context state", function()
+ local _, transitions = fresh_sequence_state()
+ local normal_target = target("a")
+ local visual_target = target("b")
+ transitions:BeginAcquisition("n", "F")
+ transitions:CommitAcquiredTarget("n", normal_target)
+ transitions:BeginAcquisition("v", "t")
+ transitions:CommitAcquiredTarget("v", visual_target)
+ local host = MemoryHost.new({
+ mode = "v",
+ count = 2,
+ cursor = { line = 1, byte_column = 3 },
+ })
+
+ local resolution = sequence_coordinator.new({ host = host })
+ :repeat_same_direction()
+
+ same("explicit_same", resolution.kind)
+ same(domain.ModeContext.from_full_mode("v"), resolution.invocation.context)
+ same(2, resolution.invocation.count.value)
+ same(domain.Descriptor.TILL_FORWARD, resolution.request.descriptor)
+ same(visual_target, resolution.request.target)
+end)
+
for _, item in ipairs(tests) do
local ok, failure = xpcall(item.body, debug.traceback)
if not ok then