aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2025-02-19 14:46:52 +0100
committerWilliam Boman <william@redwill.se>2025-02-19 14:47:55 +0100
commita8f5e511c686b6e8eec7bc57caf4d9d710005bcf (patch)
treeabca0182302608d93d45bb140b0ef8fee2e738de /tests
parentchore(main): release 1.32.0 (#479) (diff)
downloadmason-lspconfig-a8f5e511c686b6e8eec7bc57caf4d9d710005bcf.tar
mason-lspconfig-a8f5e511c686b6e8eec7bc57caf4d9d710005bcf.tar.gz
mason-lspconfig-a8f5e511c686b6e8eec7bc57caf4d9d710005bcf.tar.bz2
mason-lspconfig-a8f5e511c686b6e8eec7bc57caf4d9d710005bcf.tar.lz
mason-lspconfig-a8f5e511c686b6e8eec7bc57caf4d9d710005bcf.tar.xz
mason-lspconfig-a8f5e511c686b6e8eec7bc57caf4d9d710005bcf.tar.zst
mason-lspconfig-a8f5e511c686b6e8eec7bc57caf4d9d710005bcf.zip
feat!: update usage of deprecated mason.nvim APIs
Diffstat (limited to 'tests')
-rw-r--r--tests/helpers/lua/dummy-registry/dummy2_package.lua15
-rw-r--r--tests/helpers/lua/dummy-registry/dummy_package.lua15
-rw-r--r--tests/helpers/lua/dummy-registry/fail_dummy.lua15
-rw-r--r--tests/helpers/lua/test_helpers.lua22
-rw-r--r--tests/mason-lspconfig/setup_spec.lua25
5 files changed, 42 insertions, 50 deletions
diff --git a/tests/helpers/lua/dummy-registry/dummy2_package.lua b/tests/helpers/lua/dummy-registry/dummy2_package.lua
index 424e47d..c307843 100644
--- a/tests/helpers/lua/dummy-registry/dummy2_package.lua
+++ b/tests/helpers/lua/dummy-registry/dummy2_package.lua
@@ -1,14 +1,15 @@
local Pkg = require "mason-core.package"
-return Pkg.new {
+return Pkg:new {
+ schema = "registry+v1",
name = "dummy2",
- desc = [[This is a dummy2 package.]],
+ description = [[This is a dummy2 package.]],
+ licenses = {},
categories = { Pkg.Cat.LSP },
languages = { Pkg.Lang.Dummy2Lang },
homepage = "https://example.com",
- ---@async
- ---@param ctx InstallContext
- install = function(ctx)
- ctx.receipt:with_primary_source { type = "dummy2" }
- end,
+ source = {
+ id = "pkg:mason/dummy2@1.0.0",
+ install = function() end,
+ },
}
diff --git a/tests/helpers/lua/dummy-registry/dummy_package.lua b/tests/helpers/lua/dummy-registry/dummy_package.lua
index b38d1cd..6eb7799 100644
--- a/tests/helpers/lua/dummy-registry/dummy_package.lua
+++ b/tests/helpers/lua/dummy-registry/dummy_package.lua
@@ -1,14 +1,15 @@
local Pkg = require "mason-core.package"
-return Pkg.new {
+return Pkg:new {
+ schema = "registry+v1",
name = "dummy",
- desc = [[This is a dummy package.]],
+ description = [[This is a dummy package.]],
+ licenses = {},
categories = { Pkg.Cat.LSP },
languages = { Pkg.Lang.DummyLang },
homepage = "https://example.com",
- ---@async
- ---@param ctx InstallContext
- install = function(ctx)
- ctx.receipt:with_primary_source { type = "dummy" }
- end,
+ source = {
+ id = "pkg:mason/dummy@1.0.0",
+ install = function() end,
+ },
}
diff --git a/tests/helpers/lua/dummy-registry/fail_dummy.lua b/tests/helpers/lua/dummy-registry/fail_dummy.lua
index 3df551e..c2fb642 100644
--- a/tests/helpers/lua/dummy-registry/fail_dummy.lua
+++ b/tests/helpers/lua/dummy-registry/fail_dummy.lua
@@ -1,12 +1,17 @@
local Pkg = require "mason-core.package"
-return Pkg.new {
+return Pkg:new {
+ schema = "registry+v1",
name = "fail_dummy",
- desc = [[This is a dummy package that fails.]],
+ description = [[This is a dummy package that fails.]],
+ licenses = {},
categories = { Pkg.Cat.LSP },
languages = { Pkg.Lang.DummyLang },
homepage = "https://example.com",
- install = function()
- error("fail-dummy doesn't want to be installed", 0)
- end,
+ source = {
+ id = "pkg:mason/fail_dummy@1.0.0",
+ install = function()
+ error("fail-dummy doesn't want to be installed", 0)
+ end,
+ },
}
diff --git a/tests/helpers/lua/test_helpers.lua b/tests/helpers/lua/test_helpers.lua
index 15ccd5e..0ae3158 100644
--- a/tests/helpers/lua/test_helpers.lua
+++ b/tests/helpers/lua/test_helpers.lua
@@ -1,11 +1,7 @@
---@diagnostic disable: lowercase-global
-local spy = require "luassert.spy"
local util = require "luassert.util"
-local InstallContext = require "mason-core.installer.context"
-local InstallHandle = require "mason-core.installer.handle"
local a = require "mason-core.async"
-local registry = require "mason-registry"
function async_test(suspend_fn)
return function()
@@ -55,21 +51,3 @@ mockx = {
return mock
end,
}
-
----@param package_name string
-function InstallHandleGenerator(package_name)
- return InstallHandle.new(registry.get_package(package_name))
-end
-
----@param handle InstallHandle
----@param opts InstallContextOpts | nil
-function InstallContextGenerator(handle, opts)
- local context = InstallContext.new(handle, opts or {})
- context.spawn = setmetatable({}, {
- __index = function(s, cmd)
- s[cmd] = spy.new(mockx.just_runs())
- return s[cmd]
- end,
- })
- return context
-end
diff --git a/tests/mason-lspconfig/setup_spec.lua b/tests/mason-lspconfig/setup_spec.lua
index 06bdf2b..ad37ce6 100644
--- a/tests/mason-lspconfig/setup_spec.lua
+++ b/tests/mason-lspconfig/setup_spec.lua
@@ -17,7 +17,9 @@ describe("mason-lspconfig setup", function()
settings.set(settings._DEFAULT_SETTINGS)
for _, pkg in ipairs(registry.get_all_packages()) do
- pkg:uninstall()
+ if pkg:is_installed() then
+ pkg:uninstall()
+ end
end
end)
@@ -57,8 +59,8 @@ describe("mason-lspconfig setup", function()
assert.spy(Pkg.install).was_called_with(match.ref(dummy), { version = "1.0.0" })
assert.spy(Pkg.install).was_called_with(match.ref(fail_dummy), { version = nil })
assert.wait_for(function()
- assert.is_true(dummy.handle:is_closed())
- assert.is_true(fail_dummy.handle:is_closed())
+ assert.is_true(dummy.install_handle:is_closed())
+ assert.is_true(fail_dummy.install_handle:is_closed())
end)
end)
)
@@ -146,8 +148,8 @@ describe("mason-lspconfig setup", function()
{ title = "mason-lspconfig.nvim" }
)
assert.wait_for(function()
- assert.is_true(dummy.handle:is_closed())
- assert.is_true(fail_dummy.handle:is_closed())
+ assert.is_true(dummy.install_handle:is_closed())
+ assert.is_true(fail_dummy.install_handle:is_closed())
assert.spy(vim.notify).was_called_with(
[[[mason-lspconfig.nvim] dummylsp was successfully installed]],
vim.log.levels.INFO,
@@ -182,8 +184,8 @@ describe("mason-lspconfig setup", function()
assert.spy(Pkg.install).was_called_with(match.ref(dummy2), {})
assert.wait_for(function()
- assert.is_true(dummy.handle:is_closed())
- assert.is_true(dummy2.handle:is_closed())
+ assert.is_true(dummy.install_handle:is_closed())
+ assert.is_true(dummy2.install_handle:is_closed())
assert.spy(lspconfig.dummylsp.setup).was_called(2)
assert.spy(lspconfig.dummy2lsp.setup).was_called(2)
end)
@@ -225,9 +227,10 @@ describe("mason-lspconfig setup", function()
it("should let user config take precedence", function()
stub(registry, "is_installed")
registry.is_installed.on_call_with("dummy").returns(true)
- package.loaded["mason-lspconfig.server_configurations.dummylsp"] = function()
+ local server_config = spy.new(function()
return { cmd = { "mason-cmd" } }
- end
+ end)
+ package.loaded["mason-lspconfig.server_configurations.dummylsp"] = server_config
local config = { name = "dummylsp" }
local user_config = { cmd = { "user-cmd" } }
@@ -236,6 +239,10 @@ describe("mason-lspconfig setup", function()
on_setup(config, user_config)
assert.same({ name = "dummylsp", cmd = { "user-cmd" } }, config)
+ assert.spy(server_config).was_called(1)
+ assert
+ .spy(server_config)
+ .was_called_with(vim.fn.expand "$MASON/packages/dummy", match.same { name = "dummylsp" })
end)
it("should set up package aliases", function()