diff options
| author | William Boman <william@redwill.se> | 2022-07-17 23:18:24 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-17 23:18:24 +0200 |
| commit | 00e5dac9faae7b40459d7770fcd63872c65b51d3 (patch) | |
| tree | a3c0f4954c483c2f932eb293e166bf6bf397c56d /tests | |
| parent | feat(ui): bring focus to the installation section when :LspInstall (#91) (diff) | |
| download | mason-00e5dac9faae7b40459d7770fcd63872c65b51d3.tar mason-00e5dac9faae7b40459d7770fcd63872c65b51d3.tar.gz mason-00e5dac9faae7b40459d7770fcd63872c65b51d3.tar.bz2 mason-00e5dac9faae7b40459d7770fcd63872c65b51d3.tar.lz mason-00e5dac9faae7b40459d7770fcd63872c65b51d3.tar.xz mason-00e5dac9faae7b40459d7770fcd63872c65b51d3.tar.zst mason-00e5dac9faae7b40459d7770fcd63872c65b51d3.zip | |
docs: update mason-lspconfig.setup_handlers() docs & add some tests (#94)
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/mason-lspconfig/setup_spec.lua | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/mason-lspconfig/setup_spec.lua b/tests/mason-lspconfig/setup_spec.lua index 39795be4..28dbad40 100644 --- a/tests/mason-lspconfig/setup_spec.lua +++ b/tests/mason-lspconfig/setup_spec.lua @@ -1,4 +1,5 @@ local match = require "luassert.match" +local stub = require "luassert.stub" local spy = require "luassert.spy" local Pkg = require "mason-core.package" @@ -43,3 +44,48 @@ describe("mason-lspconfig setup", function() }) end) end) + +describe("mason-lspconfig setup_handlers", function() + server_mappings.lspconfig_to_package["dummylsp"] = "dummy" + server_mappings.package_to_lspconfig["dummy"] = "dummylsp" + filetype_mappings.dummylang = { "dummylsp" } + + it("should call default handler", function() + stub(registry, "get_installed_package_names") + registry.get_installed_package_names.returns { "dummy" } + local default_handler = spy.new() + + mason_lspconfig.setup_handlers { default_handler } + + assert.spy(default_handler).was_called(1) + assert.spy(default_handler).was_called_with "dummylsp" + end) + + it("should call dedicated handler", function() + stub(registry, "get_installed_package_names") + registry.get_installed_package_names.returns { "dummy" } + local dedicated_handler = spy.new() + local default_handler = spy.new() + + mason_lspconfig.setup_handlers { + default_handler, + ["dummylsp"] = dedicated_handler, + } + + assert.spy(default_handler).was_called(0) + assert.spy(dedicated_handler).was_called(1) + assert.spy(dedicated_handler).was_called_with "dummylsp" + end) + + it("should print warning if registering handler for non-existent server name", function() + spy.on(vim, "notify") + mason_lspconfig.setup_handlers { + doesnt_exist_server = spy.new(), + } + assert.spy(vim.notify).was_called(1) + assert.spy(vim.notify).was_called_with( + "[mason.nvim] mason-lspconfig.setup_handlers: Received handler for unknown lspconfig server name: doesnt_exist_server.", + vim.log.levels.WARN + ) + end) +end) |
