From 7034065099c1665143091c7282b3b1b8f0b23783 Mon Sep 17 00:00:00 2001 From: William Boman Date: Tue, 18 Apr 2023 01:05:09 +0200 Subject: refactor: only notify bad setup order if it impacts functionality (#196) --- tests/mason-lspconfig/setup_spec.lua | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'tests') diff --git a/tests/mason-lspconfig/setup_spec.lua b/tests/mason-lspconfig/setup_spec.lua index eb5e1c0..e9ebf40 100644 --- a/tests/mason-lspconfig/setup_spec.lua +++ b/tests/mason-lspconfig/setup_spec.lua @@ -328,4 +328,41 @@ describe("mason-lspconfig setup_handlers", function() ) end) ) + + it("should notify if mason.nvim has not been set up and using ensure_installed feature", function() + package.loaded["mason"] = nil + spy.on(vim, "notify") + + mason_lspconfig.setup { ensure_installed = { "dummylsp" } } + assert.spy(vim.notify).was_called(1) + assert.spy(vim.notify).was_called_with( + [[mason.nvim has not been set up. Make sure to set up 'mason' before 'mason-lspconfig'. :h mason-lspconfig-quickstart]], + vim.log.levels.WARN, + { title = "mason-lspconfig.nvim" } + ) + end) + + it("should not notify if mason.nvim has not been set up and not using ensure_installed feature", function() + package.loaded["mason"] = nil + spy.on(vim, "notify") + + mason_lspconfig.setup() + assert.spy(vim.notify).was_called(0) + end) + + it("should notify is server is set up before mason.nvim", function() + package.loaded["mason"] = nil + local lspconfig = require "lspconfig" + spy.on(vim, "notify") + + mason_lspconfig.setup() + lspconfig.dummylsp.setup {} + + assert.spy(vim.notify).was_called(1) + assert.spy(vim.notify).was_called_with( + [[Server "dummylsp" is being set up before mason.nvim is set up. :h mason-lspconfig-quickstart]], + vim.log.levels.WARN, + { title = "mason-lspconfig.nvim" } + ) + end) end) -- cgit v1.2.3-70-g09d2