summaryrefslogtreecommitdiff
path: root/tests/run.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run.lua')
-rw-r--r--tests/run.lua30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/run.lua b/tests/run.lua
index 61ab1ab..d2c7f5e 100644
--- a/tests/run.lua
+++ b/tests/run.lua
@@ -7,6 +7,7 @@ package.path = table.concat({
}, ";")
local domain = require("clever_f.domain")
+local acquisition_service = require("clever_f.acquisition_service")
local capabilities = require("clever_f.capabilities")
local destination_engine = require("clever_f.destination_engine")
local direct_preview_planner = require("clever_f.direct_preview_planner")
@@ -4865,6 +4866,35 @@ test("Feedback creates one ordinary direct marker set", function()
)
end)
+test("Acquisition accepts complete initiating action inputs", function()
+ local service = acquisition_service.new(MemoryHost.new())
+ truthy(acquisition_service.AcquisitionService.is(service))
+
+ local request = service:request(
+ "T",
+ domain.ModeContext.from_full_mode("nov"),
+ domain.Position.new(3, 5),
+ 2,
+ domain.MacroState.new("q")
+ )
+ truthy(acquisition_service.AcquisitionRequest.is(request))
+ same(domain.Descriptor.TILL_BACKWARD, request.descriptor)
+ same(domain.ModeContext.from_full_mode("no"), request.context)
+ same(domain.Position.new(3, 5), request.position)
+ same(2, request.count.value)
+ truthy(request.macro_state.executing)
+ same("q", request.macro_state.register)
+
+ local from_table = acquisition_service.AcquisitionRequest.new({
+ descriptor = "f",
+ context = "n",
+ origin = { line = 1, byte_column = 1 },
+ macro_state = { register = nil },
+ })
+ same(domain.Count.ONE, from_table.count)
+ falsy(from_table.macro_state.executing)
+end)
+
for _, item in ipairs(tests) do
local ok, failure = xpcall(item.body, debug.traceback)
if not ok then