diff options
| author | Bogdan Nikolov <84232456+0xr3ngar@users.noreply.github.com> | 2026-02-19 20:30:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-19 20:30:08 +0100 |
| commit | 725bf38ffc08cb8b537cbff322ef2d889b197dad (patch) | |
| tree | 2fa53c6b40463b8a18d9e175617b9b413a844e70 /lua/99/test/test_utils.lua | |
| parent | 6d219f47aa29cafb1ec39c41d4dd0a4875a74506 (diff) | |
| parent | d34e4dcbcc1f95d8f31f851baad18da12c59e7df (diff) | |
| download | a4-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.lua | 40 |
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({ |
