summaryrefslogtreecommitdiff
path: root/tests/run.lua
diff options
context:
space:
mode:
authorJackson Moore <jacksonmoore@tuta.io>2026-09-04 11:40:51 +0200
committerJackson Moore <jacksonmoore@tuta.io>2026-09-04 11:40:51 +0200
commit05700ac654c285c1a503d54613b2bb06a6696ffa (patch)
treecc27ad555d969f0ef7590884a792c2fd7a5b29e8 /tests/run.lua
parent5574e26f6bf1152a50e28080ca200e447f1acade (diff)
Restrict preview scans to strict side
Diffstat (limited to 'tests/run.lua')
-rw-r--r--tests/run.lua34
1 files changed, 28 insertions, 6 deletions
diff --git a/tests/run.lua b/tests/run.lua
index e16f082..b7a4820 100644
--- a/tests/run.lua
+++ b/tests/run.lua
@@ -4548,14 +4548,36 @@ test("Direct preview scanning stays on the cursor line", function()
local records = planner:scan_current_line(
view,
- domain.Position.new(2, 2),
+ domain.Position.new(2, 1),
domain.Direction.FORWARD
)
- same(2, #records)
- same(domain.Position.new(2, 1), records[1].position)
- same("d", records[1].character)
- same(domain.Position.new(2, 2), records[2].position)
- same("e", records[2].character)
+ same(1, #records)
+ same(domain.Position.new(2, 2), records[1].position)
+ same("e", records[1].character)
+end)
+
+test("Direct preview scanning excludes the cursor and opposite side", function()
+ local view = text_topology.new({ "abcde" }, "utf-8")
+ local planner = direct_preview_planner.new()
+ local origin = domain.Position.new(1, 3)
+
+ local forward = planner:scan_current_line(
+ view,
+ origin,
+ domain.Direction.FORWARD
+ )
+ same(2, #forward)
+ same(domain.Position.new(1, 4), forward[1].position)
+ same(domain.Position.new(1, 5), forward[2].position)
+
+ local backward = planner:scan_current_line(
+ view,
+ origin,
+ domain.Direction.BACKWARD
+ )
+ same(2, #backward)
+ same(domain.Position.new(1, 2), backward[1].position)
+ same(domain.Position.new(1, 1), backward[2].position)
end)
for _, item in ipairs(tests) do