aboutsummaryrefslogtreecommitdiffstats
path: root/tests/mason-lspconfig/api/command_spec.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-07-22 03:15:43 +0200
committerGitHub <noreply@github.com>2022-07-22 03:15:43 +0200
commit11c0af44e69a165df41e5fe6681b47f4204d3623 (patch)
tree28bc4c9c6e7295996924d6b2ce8e620b2a963fa2 /tests/mason-lspconfig/api/command_spec.lua
parentfeat: add markdownlint linter (#107) (diff)
downloadmason-11c0af44e69a165df41e5fe6681b47f4204d3623.tar
mason-11c0af44e69a165df41e5fe6681b47f4204d3623.tar.gz
mason-11c0af44e69a165df41e5fe6681b47f4204d3623.tar.bz2
mason-11c0af44e69a165df41e5fe6681b47f4204d3623.tar.lz
mason-11c0af44e69a165df41e5fe6681b47f4204d3623.tar.xz
mason-11c0af44e69a165df41e5fe6681b47f4204d3623.tar.zst
mason-11c0af44e69a165df41e5fe6681b47f4204d3623.zip
refactor!: extract mason-lspconfig to separate plugin (#109)
The rationale behind this is to make boundaries clearer as mason.nvim has no direct relation with lspconfig per se. Also, hopefully, by having it as a separate package like this would encourage more people to write similar extensions (think mason-dap and mason-null-ls). Ideally such extensions wouldn't be required at all, but there are definitely gaps to fill as of today. From now on you'll need to add `williamboman/mason-lspconfig.nvim` as a plugin if you want to use the `mason-lspconfig` extension: ```lua use { { "williamboman/mason.nvim", branch = "alpha" }, "williamboman/mason-lspconfig.nvim", "neovim/nvim-lspconfig", } ``` ```lua Plug "williamboman/mason.nvim", { 'branch': 'alpha' } Plug "williamboman/mason-lspconfig.nvim" Plug "neovim/nvim-lspconfig" ```
Diffstat (limited to 'tests/mason-lspconfig/api/command_spec.lua')
-rw-r--r--tests/mason-lspconfig/api/command_spec.lua71
1 files changed, 0 insertions, 71 deletions
diff --git a/tests/mason-lspconfig/api/command_spec.lua b/tests/mason-lspconfig/api/command_spec.lua
deleted file mode 100644
index 0551c777..00000000
--- a/tests/mason-lspconfig/api/command_spec.lua
+++ /dev/null
@@ -1,71 +0,0 @@
-local spy = require "luassert.spy"
-local stub = require "luassert.stub"
-local match = require "luassert.match"
-
-local server_mappings = require "mason-lspconfig.mappings.server"
-local filetype_mappings = require "mason-lspconfig.mappings.filetype"
-local api = require "mason-lspconfig.api.command"
-local registry = require "mason-registry"
-local Pkg = require "mason-core.package"
-
-describe(":LspInstall", function()
- server_mappings.lspconfig_to_package["dummylsp"] = "dummy"
- server_mappings.package_to_lspconfig["dummy"] = "dummylsp"
- filetype_mappings.dummylang = { "dummylsp" }
-
- it("should install the provided servers", function()
- local dummy = registry.get_package "dummy"
- spy.on(Pkg, "install")
- api.LspInstall { "dummylsp@1.0.0" }
- assert.spy(Pkg.install).was_called(1)
- assert.spy(Pkg.install).was_called_with(match.ref(dummy), {
- version = "1.0.0",
- })
- end)
-
- it(
- "should prompt user for server to install based on filetype",
- async_test(function()
- local dummy = registry.get_package "dummy"
- spy.on(Pkg, "install")
- stub(vim.ui, "select")
- vim.ui.select.invokes(function(items, opts, callback)
- callback "dummylsp"
- end)
- vim.cmd [[new | setf dummylang]]
- api.LspInstall {}
- assert.spy(Pkg.install).was_called(1)
- assert.spy(Pkg.install).was_called_with(match.ref(dummy), {
- version = nil,
- })
- assert.spy(vim.ui.select).was_called(1)
- assert.spy(vim.ui.select).was_called_with({ "dummylsp" }, match.is_table(), match.is_function())
- end)
- )
-
- it(
- "should not prompt user for server to install if no filetype match exists",
- async_test(function()
- spy.on(Pkg, "install")
- stub(vim.ui, "select")
- vim.cmd [[new | setf nolsplang]]
- api.LspInstall {}
- assert.spy(Pkg.install).was_called(0)
- assert.spy(vim.ui.select).was_called(0)
- end)
- )
-end)
-
-describe(":LspUninstall", function()
- server_mappings.lspconfig_to_package["dummylsp"] = "dummy"
- server_mappings.package_to_lspconfig["dummy"] = "dummylsp"
- filetype_mappings.dummylang = { "dummylsp" }
-
- it("should uninstall the provided servers", function()
- local dummy = registry.get_package "dummy"
- spy.on(Pkg, "uninstall")
- api.LspUninstall { "dummylsp" }
- assert.spy(Pkg.uninstall).was_called(1)
- assert.spy(Pkg.uninstall).was_called_with(match.ref(dummy))
- end)
-end)