aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-04-29 16:25:06 +0200
committerWilliam Boman <william@redwill.se>2022-04-29 16:25:06 +0200
commit5d2b4deaa2d2a4d3e9d2301dfdc68631fbea707d (patch)
treeeb1d34f856dcb87bb835cb473d251acdc8c6f88d
parentfix(middleware): only modify config for installed servers during setup (diff)
downloadmason-5d2b4deaa2d2a4d3e9d2301dfdc68631fbea707d.tar
mason-5d2b4deaa2d2a4d3e9d2301dfdc68631fbea707d.tar.gz
mason-5d2b4deaa2d2a4d3e9d2301dfdc68631fbea707d.tar.bz2
mason-5d2b4deaa2d2a4d3e9d2301dfdc68631fbea707d.tar.lz
mason-5d2b4deaa2d2a4d3e9d2301dfdc68631fbea707d.tar.xz
mason-5d2b4deaa2d2a4d3e9d2301dfdc68631fbea707d.tar.zst
mason-5d2b4deaa2d2a4d3e9d2301dfdc68631fbea707d.zip
fix middleware_spec tests
-rw-r--r--lua/nvim-lsp-installer/servers/init.lua1
-rw-r--r--tests/middleware_spec.lua73
2 files changed, 54 insertions, 20 deletions
diff --git a/lua/nvim-lsp-installer/servers/init.lua b/lua/nvim-lsp-installer/servers/init.lua
index 9af4c1bb..6440fe38 100644
--- a/lua/nvim-lsp-installer/servers/init.lua
+++ b/lua/nvim-lsp-installer/servers/init.lua
@@ -158,6 +158,7 @@ local function scan_server_roots()
if cached_server_roots then
return cached_server_roots
end
+ log.trace "Scanning server roots"
---@type string[]
local result = {}
local ok, entries = pcall(fs.readdir, settings.current.install_root_dir)
diff --git a/tests/middleware_spec.lua b/tests/middleware_spec.lua
index 5c629ee6..9128d962 100644
--- a/tests/middleware_spec.lua
+++ b/tests/middleware_spec.lua
@@ -1,39 +1,72 @@
local util = require "lspconfig.util"
+local a = require "nvim-lsp-installer.core.async"
local servers = require "nvim-lsp-installer.servers"
local middleware = require "nvim-lsp-installer.middleware"
describe("middleware", function()
- it("should register on_setup hook with lspconfig", function()
+ local server
+ before_each(function()
-- 1. setup dummy server
local default_options = {
cmd = { "dummy-lsp" },
cmd_env = { PATH = "/keep/my/path/out/your/f/mouth" },
}
- local server = ServerGenerator {
- name = "dummy",
+ server = ServerGenerator {
default_options = default_options,
}
servers.register(server)
-- 2. register hook
middleware.register_lspconfig_hook()
+ end)
- -- 3. call lspconfig hook
- local config = {
- name = "dummy",
- cmd = { "should", "be", "overwritten" },
- custom = "setting",
- cmd_env = { SOME_DEFAULT_ENV = "important" },
- }
- util.on_setup(config)
- assert.are.same({
- cmd = { "dummy-lsp" },
- name = "dummy",
- custom = "setting",
- cmd_env = {
- PATH = "/keep/my/path/out/your/f/mouth",
- SOME_DEFAULT_ENV = "important",
- },
- }, config)
+ after_each(function()
+ -- reset hook
+ util.on_setup = nil
end)
+
+ it(
+ "should apply config changes to installed servers",
+ async_test(function()
+ server:install()
+ assert.wait_for(function()
+ assert.is_true(server:is_installed())
+ end)
+ local config = {
+ name = "dummy",
+ cmd = { "should", "be", "overwritten" },
+ custom = "setting",
+ cmd_env = { SOME_DEFAULT_ENV = "important" },
+ }
+ util.on_setup(config)
+ assert.are.same({
+ cmd = { "dummy-lsp" },
+ name = "dummy",
+ custom = "setting",
+ cmd_env = {
+ PATH = "/keep/my/path/out/your/f/mouth",
+ SOME_DEFAULT_ENV = "important",
+ },
+ }, config)
+ end)
+ )
+
+ it(
+ "should not apply config changes to uninstalled servers",
+ async_test(function()
+ local config = {
+ name = "uninstalled_dummy",
+ cmd = { "should", "not", "be", "overwritten" },
+ custom = "setting",
+ cmd_env = { SOME_DEFAULT_ENV = "important" },
+ }
+ util.on_setup(config)
+ assert.are.same({
+ name = "uninstalled_dummy",
+ cmd = { "should", "not", "be", "overwritten" },
+ custom = "setting",
+ cmd_env = { SOME_DEFAULT_ENV = "important" },
+ }, config)
+ end)
+ )
end)