summaryrefslogtreecommitdiff
path: root/lua/99/test/test_utils.lua
diff options
context:
space:
mode:
authorBogdan Nikolov <84232456+0xr3ngar@users.noreply.github.com>2026-02-19 20:30:08 +0100
committerGitHub <noreply@github.com>2026-02-19 20:30:08 +0100
commit725bf38ffc08cb8b537cbff322ef2d889b197dad (patch)
tree2fa53c6b40463b8a18d9e175617b9b413a844e70 /lua/99/test/test_utils.lua
parent6d219f47aa29cafb1ec39c41d4dd0a4875a74506 (diff)
parentd34e4dcbcc1f95d8f31f851baad18da12c59e7df (diff)
downloada4-725bf38ffc08cb8b537cbff322ef2d889b197dad.tar.xz
a4-725bf38ffc08cb8b537cbff322ef2d889b197dad.zip
Merge branch 'master' into master
Diffstat (limited to 'lua/99/test/test_utils.lua')
-rw-r--r--lua/99/test/test_utils.lua40
1 files changed, 22 insertions, 18 deletions
diff --git a/lua/99/test/test_utils.lua b/lua/99/test/test_utils.lua
index b3bd7db..a1459a4 100644
--- a/lua/99/test/test_utils.lua
+++ b/lua/99/test/test_utils.lua
@@ -1,6 +1,14 @@
local Levels = require("99.logger.level")
local M = {}
+--- @type _99.Providers.Observer
+local DevNullObserver = {
+ on_start = function() end,
+ on_complete = function() end,
+ on_stderr = function() end,
+ on_stdout = function() end,
+}
+
function M.next_frame()
local next = false
vim.schedule(function()
@@ -17,7 +25,7 @@ M.created_files = {}
--- @class _99.test.ProviderRequest
--- @field query string
--- @field request _99.Request
---- @field observer _99.Providers.Observer?
+--- @field observer _99.Providers.Observer
--- @field logger _99.Logger
--- @class _99.test.Provider : _99.Providers.BaseProvider
@@ -35,6 +43,10 @@ end
function TestProvider:make_request(query, request, observer)
local logger = request.context.logger:set_area("TestProvider")
logger:debug("make_request", "tmp_file", request.context.tmp_file)
+
+ observer = observer or DevNullObserver
+ observer.on_start()
+
self.request = {
query = query,
request = request,
@@ -47,34 +59,26 @@ end
--- @param result string
function TestProvider:resolve(status, result)
assert(self.request, "you cannot call resolve until make_request is called")
- local obs = self.request.observer
- if obs then
- --- to match the behavior expected from the OpenCodeProvider
- if self.request.request:is_cancelled() then
- obs.on_complete("cancelled", result)
- else
- obs.on_complete(status, result)
- end
+
+ if self.request.request:is_cancelled() then
+ self.request.observer.on_complete("cancelled", result)
+ else
+ self.request.observer.on_complete(status, result)
end
+
self.request = nil
end
--- @param line string
function TestProvider:stdout(line)
assert(self.request, "you cannot call stdout until make_request is called")
- local obs = self.request.observer
- if obs then
- obs.on_stdout(line)
- end
+ self.request.observer.on_stdout(line)
end
--- @param line string
function TestProvider:stderr(line)
assert(self.request, "you cannot call stderr until make_request is called")
- local obs = self.request.observer
- if obs then
- obs.on_stderr(line)
- end
+ self.request.observer.on_stderr(line)
end
M.TestProvider = TestProvider
@@ -109,7 +113,7 @@ end
--- @param col number
--- @param lang string?
--- @return _99.test.Provider, number
-function M.fif_setup(content, row, col, lang)
+function M.test_setup(content, row, col, lang)
assert(lang, "lang must be provided")
local provider = M.TestProvider.new()
require("99").setup({