summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-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