summaryrefslogtreecommitdiff
path: root/lua/clever_f/testing
diff options
context:
space:
mode:
Diffstat (limited to 'lua/clever_f/testing')
-rw-r--r--lua/clever_f/testing/memory_host.lua13
1 files changed, 13 insertions, 0 deletions
diff --git a/lua/clever_f/testing/memory_host.lua b/lua/clever_f/testing/memory_host.lua
index b815c2f..8d92697 100644
--- a/lua/clever_f/testing/memory_host.lua
+++ b/lua/clever_f/testing/memory_host.lua
@@ -138,6 +138,7 @@ function MemoryHost.new(options)
local self = setmetatable({
_text = text_snapshot(options.text or options.buffer_lines or { "" }),
+ _buffer = options.buffer or "buffer-1",
_cursor = domain.Position.coerce(options.cursor or { line = 1, byte_column = 1 }),
_window = options.window or "window-1",
_mode = raw_mode,
@@ -229,6 +230,11 @@ function MemoryHost:read_cursor()
return self._cursor
end
+function MemoryHost:read_buffer()
+ self:_record("read_buffer", { buffer = self._buffer })
+ return self._buffer
+end
+
function MemoryHost:read_window()
self:_record("read_window", { window = self._window })
return self._window
@@ -322,6 +328,13 @@ function MemoryHost:set_cursor(position)
self._cursor = domain.Position.coerce(position)
end
+function MemoryHost:set_buffer(buffer)
+ if buffer == nil then
+ error("buffer identity must be present", 2)
+ end
+ self._buffer = buffer
+end
+
function MemoryHost:set_window(window)
if window == nil then
error("window identity must be present", 2)