diff options
| author | Raphael <glepnir@neovim.pro> | 2023-05-11 14:48:48 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-11 14:48:48 +0800 |
| commit | 13e86cb91e45ba603b47f7fa1b68b5973565463f (patch) | |
| tree | 81c7a67caa27166ddf391d238b28a644a1e78d50 /test | |
| parent | fix: check cmd not empty (#2602) (diff) | |
| download | nvim-lspconfig-13e86cb91e45ba603b47f7fa1b68b5973565463f.tar nvim-lspconfig-13e86cb91e45ba603b47f7fa1b68b5973565463f.tar.gz nvim-lspconfig-13e86cb91e45ba603b47f7fa1b68b5973565463f.tar.bz2 nvim-lspconfig-13e86cb91e45ba603b47f7fa1b68b5973565463f.tar.lz nvim-lspconfig-13e86cb91e45ba603b47f7fa1b68b5973565463f.tar.xz nvim-lspconfig-13e86cb91e45ba603b47f7fa1b68b5973565463f.tar.zst nvim-lspconfig-13e86cb91e45ba603b47f7fa1b68b5973565463f.zip | |
test: remove test depend and use vusted (#2603)
Diffstat (limited to 'test')
| -rw-r--r-- | test/lspconfig_spec.lua | 404 |
1 files changed, 162 insertions, 242 deletions
diff --git a/test/lspconfig_spec.lua b/test/lspconfig_spec.lua index 1df3464a..aab4f4ba 100644 --- a/test/lspconfig_spec.lua +++ b/test/lspconfig_spec.lua @@ -1,362 +1,282 @@ -local helpers = require 'test.functional.helpers'(after_each) -local clear = helpers.clear -local exec_lua = helpers.exec_lua -local eq = helpers.eq -local ok = helpers.ok - -before_each(function() - clear() - -- add plugin module path to package.path in Lua runtime in Nvim - exec_lua( - [[ - package.path = ... - ]], - package.path - ) -end) +local root = vim.fn.getcwd() describe('lspconfig', function() + local eq = assert.are.equal + local same = assert.are.same + + before_each(function() + vim.api.nvim_command('cd ' .. root) + end) + describe('util', function() describe('path', function() describe('escape_wildcards', function() it('doesnt escape if not needed', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") + local lspconfig = require 'lspconfig' - return lspconfig.util.path.escape_wildcards('/usr/local/test/fname.lua') == '/usr/local/test/fname.lua' - ]]) + local res = lspconfig.util.path.escape_wildcards '/usr/local/test/fname.lua' + eq('/usr/local/test/fname.lua', res) end) it('escapes if needed', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") + local lspconfig = require 'lspconfig' - return lspconfig.util.path.escape_wildcards('/usr/local/test/[sq brackets] fname?*.lua') == '/usr/local/test/\\[sq brackets\\] fname\\?\\*.lua' - ]]) + local res = lspconfig.util.path.escape_wildcards '/usr/local/test/[sq brackets] fname?*.lua' + eq('/usr/local/test/\\[sq brackets\\] fname\\?\\*.lua', res) end) end) describe('exists', function() it('is present directory', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") + local lspconfig = require 'lspconfig' - local cwd = vim.fn.getcwd() - return not (lspconfig.util.path.exists(cwd) == false) - ]]) + local cwd = vim.fn.getcwd() + eq(true, lspconfig.util.path.exists(cwd) ~= false) end) it('is not present directory', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") - - local not_exist_dir = vim.fn.getcwd().."/not/exists" - return lspconfig.util.path.exists(not_exist_dir) == false - ]]) + local lspconfig = require 'lspconfig' + local not_exist_dir = vim.fn.getcwd() .. '/not/exists' + eq(true, lspconfig.util.path.exists(not_exist_dir) == false) end) it('is present file', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") - - -- change the working directory to test directory - vim.api.nvim_command("cd ../test/test_dir/") - local file = vim.fn.getcwd().."/root_marker.txt" - - return not (lspconfig.util.path.exists(file) == false) - ]]) + local lspconfig = require 'lspconfig' + -- change the working directory to test directory + vim.api.nvim_command 'cd ./test/test_dir/' + local file = vim.fn.getcwd() .. '/root_marker.txt' + eq(true, lspconfig.util.path.exists(file) ~= false) end) it('is not present file', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") - - -- change the working directory to test directory - vim.api.nvim_command("cd ../test/test_dir/") - local file = vim.fn.getcwd().."/not_exists.txt" - - return lspconfig.util.path.exists(file) == false - ]]) + local lspconfig = require 'lspconfig' + -- change the working directory to test directory + vim.api.nvim_command 'cd ./test/test_dir/' + local file = vim.fn.getcwd() .. '/not_exists.txt' + assert.is_false(lspconfig.util.path.exists(file)) end) end) describe('is_dir', function() it('is directory', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") - - local cwd = vim.fn.getcwd() - return lspconfig.util.path.is_dir(cwd) - ]]) + local lspconfig = require 'lspconfig' + local cwd = vim.fn.getcwd() + assert.is_true(lspconfig.util.path.is_dir(cwd)) end) it('is not present directory', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") - - local not_exist_dir = vim.fn.getcwd().."/not/exists" - return not lspconfig.util.path.is_dir(not_exist_dir) - ]]) + local lspconfig = require 'lspconfig' + local not_exist_dir = vim.fn.getcwd() .. '/not/exists' + eq(true, not lspconfig.util.path.is_dir(not_exist_dir)) end) it('is file', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") + local lspconfig = require 'lspconfig' - -- change the working directory to test directory - vim.api.nvim_command("cd ../test/test_dir/") - local file = vim.fn.getcwd().."/root_marker.txt" + -- change the working directory to test directory + vim.api.nvim_command 'cd ./test/test_dir/' + local file = vim.fn.getcwd() .. '/root_marker.txt' - return not lspconfig.util.path.is_dir(file) - ]]) + eq(true, not lspconfig.util.path.is_dir(file)) end) end) describe('is_file', function() it('is file', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") + local lspconfig = require 'lspconfig' - -- change the working directory to test directory - vim.api.nvim_command("cd ../test/test_dir/") - local file = vim.fn.getcwd().."/root_marker.txt" + -- change the working directory to test directory + vim.api.nvim_command 'cd ./test/test_dir/' + local file = vim.fn.getcwd() .. '/root_marker.txt' - return lspconfig.util.path.is_file(file) - ]]) + eq(true, lspconfig.util.path.is_file(file)) end) it('is not present file', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") + local lspconfig = require 'lspconfig' - -- change the working directory to test directory - vim.api.nvim_command("cd ../test/test_dir/") - local file = vim.fn.getcwd().."/not_exists.txt" + -- change the working directory to test directory + vim.api.nvim_command 'cd ./test/test_dir/' + local file = vim.fn.getcwd() .. '/not_exists.txt' - return not lspconfig.util.path.is_file(file) - ]]) + eq(true, not lspconfig.util.path.is_file(file)) end) it('is directory', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") + local lspconfig = require 'lspconfig' - local cwd = vim.fn.getcwd() - return not lspconfig.util.path.is_file(cwd) - ]]) + local cwd = vim.fn.getcwd() + eq(true, not lspconfig.util.path.is_file(cwd)) end) end) describe('is_absolute', function() it('is absolute', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") - return not (lspconfig.util.path.is_absolute("/foo/bar") == nil) - ]]) + local lspconfig = require 'lspconfig' + eq(true, lspconfig.util.path.is_absolute '/foo/bar' ~= nil) end) it('is not absolute', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") - return lspconfig.util.path.is_absolute("foo/bar") == nil - ]]) - - ok(exec_lua [[ - local lspconfig = require("lspconfig") - return lspconfig.util.path.is_absolute("../foo/bar") == nil - ]]) + local lspconfig = require 'lspconfig' + assert.is_nil(lspconfig.util.path.is_absolute 'foo/bar') + assert.is_nil(lspconfig.util.path.is_absolute '../foo/bar') end) end) describe('join', function() it('', function() - eq( - exec_lua [[ - local lspconfig = require("lspconfig") - return lspconfig.util.path.join("foo", "bar", "baz") - ]], - 'foo/bar/baz' - ) + local lspconfig = require 'lspconfig' + local res = lspconfig.util.path.join('foo', 'bar', 'baz') + eq('foo/bar/baz', res) end) end) end) describe('root_pattern', function() it('resolves to a_marker.txt', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") - - -- change the working directory to test directory - vim.api.nvim_command("cd ../test/test_dir/a") - local cwd = vim.fn.getcwd() - return cwd == lspconfig.util.root_pattern({"root_marker.txt", "a_marker.txt"})(cwd) - ]]) + local lspconfig = require 'lspconfig' + -- change the working directory to test directory + vim.api.nvim_command 'cd ./test/test_dir/a' + local cwd = vim.fn.getcwd() + eq(true, cwd == lspconfig.util.root_pattern { 'root_marker.txt', 'a_marker.txt' }(cwd)) end) it('resolves to root_marker.txt', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") + local lspconfig = require 'lspconfig' - -- change the working directory to test directory - vim.api.nvim_command("cd ../test/test_dir/a") + -- change the working directory to test directory + vim.api.nvim_command 'cd ./test/test_dir/a' - local cwd = vim.fn.getcwd() - local resolved = lspconfig.util.root_pattern({"root_marker.txt"})(cwd) - vim.api.nvim_command("cd ..") + local cwd = vim.fn.getcwd() + local resolved = lspconfig.util.root_pattern { 'root_marker.txt' }(cwd) + vim.api.nvim_command 'cd ..' - return vim.fn.getcwd() == resolved - ]]) + eq(true, vim.fn.getcwd() == resolved) end) end) describe('strip_archive_subpath', function() it('strips zipfile subpaths', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") - return lspconfig.util.strip_archive_subpath("zipfile:///one/two.zip::three/four") == "/one/two.zip" - ]]) + local lspconfig = require 'lspconfig' + local res = lspconfig.util.strip_archive_subpath 'zipfile:///one/two.zip::three/four' + eq('/one/two.zip', res) end) it('strips tarfile subpaths', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") - return lspconfig.util.strip_archive_subpath("tarfile:/one/two.tgz::three/four") == "/one/two.tgz" - ]]) + local lspconfig = require 'lspconfig' + local res = lspconfig.util.strip_archive_subpath 'tarfile:/one/two.tgz::three/four' + eq('/one/two.tgz', res) end) it('returns non-archive paths as-is', function() - ok(exec_lua [[ - local lspconfig = require("lspconfig") - return lspconfig.util.strip_archive_subpath("/one/two.zip") == "/one/two.zip" - ]]) + local lspconfig = require 'lspconfig' + local res = lspconfig.util.strip_archive_subpath '/one/two.zip' + eq('/one/two.zip', res) end) end) describe('user commands', function() it('should translate command definition to nvim_create_user_command options', function() - eq( - { - nargs = '*', - complete = 'custom,v:lua.some_global', - }, - exec_lua [[ - local util = require("lspconfig.util") - return util._parse_user_command_options({ - function () end, - "-nargs=* -complete=custom,v:lua.some_global" - }) - ]] - ) + local util = require 'lspconfig.util' + local res = util._parse_user_command_options { + function() end, + '-nargs=* -complete=custom,v:lua.some_global', + } - eq( - { - desc = 'My awesome description.', - nargs = '*', - complete = 'custom,v:lua.another_global', - }, - exec_lua [[ - local util = require("lspconfig.util") - return util._parse_user_command_options({ - function () end, - ["-nargs"] = "*", - "-complete=custom,v:lua.another_global", - description = "My awesome description." - }) - ]] - ) + same({ + nargs = '*', + complete = 'custom,v:lua.some_global', + }, res) + + res = util._parse_user_command_options { + function() end, + ['-nargs'] = '*', + '-complete=custom,v:lua.another_global', + description = 'My awesome description.', + } + same({ + desc = 'My awesome description.', + nargs = '*', + complete = 'custom,v:lua.another_global', + }, res) end) end) end) describe('config', function() it('normalizes user, server, and base default configs', function() - eq( - exec_lua [[ - local lspconfig = require("lspconfig") - local configs = require("lspconfig.configs") - - local actual = nil - lspconfig.util.on_setup = function(config) - actual = config - end - - lspconfig.util.default_config = { - foo = { - bar = { - val1 = 'base1', - val2 = 'base2', - }, - }, - } + local lspconfig = require 'lspconfig' + local configs = require 'lspconfig.configs' - local server_config = { - default_config = { - foo = { - bar = { - val2 = 'server2', - val3 = 'server3', - }, - baz = 'baz', - }, - }, - } + local actual = nil + lspconfig.util.on_setup = function(config) + actual = config + end - local user_config = { - foo = { - bar = { - val3 = 'user3', - val4 = 'user4', - } + lspconfig.util.default_config = { + foo = { + bar = { + val1 = 'base1', + val2 = 'base2', }, - } + }, + } - configs['test'] = server_config - configs['test'].setup(user_config) - return actual - ]], - { + local server_config = { + default_config = { foo = { bar = { - val1 = 'base1', val2 = 'server2', - val3 = 'user3', - val4 = 'user4', + val3 = 'server3', }, baz = 'baz', }, - name = 'test', - } - ) + }, + } + + local user_config = { + foo = { + bar = { + val3 = 'user3', + val4 = 'user4', + }, + }, + } + + configs['test'] = server_config + configs['test'].setup(user_config) + same({ + foo = { + bar = { + val1 = 'base1', + val2 = 'server2', + val3 = 'user3', + val4 = 'user4', + }, + baz = 'baz', + }, + name = 'test', + }, actual) + configs['test'] = nil end) it("excludes indexed server configs that haven't been set up", function() - eq( - exec_lua [[ - local lspconfig = require("lspconfig") - local actual = nil - local _ = lspconfig.lua_ls - local _ = lspconfig.tsserver - lspconfig.rust_analyzer.setup {} - return require("lspconfig.util").available_servers() - ]], - { 'rust_analyzer' } - ) + local lspconfig = require 'lspconfig' + local _ = lspconfig.lua_ls + local _ = lspconfig.tsserver + lspconfig.rust_analyzer.setup {} + same({ 'rust_analyzer' }, require('lspconfig.util').available_servers()) end) it('provides user_config to the on_setup hook', function() - eq( - exec_lua [[ - local lspconfig = require "lspconfig" - local util = require "lspconfig.util" - local user_config - util.on_setup = function (_, _user_config) - user_config = _user_config - end - lspconfig.rust_analyzer.setup { custom_user_config = "custom" } - return user_config - ]], - { - custom_user_config = 'custom', - } - ) + local lspconfig = require 'lspconfig' + local util = require 'lspconfig.util' + local user_config + util.on_setup = function(_, conf) + user_config = conf + end + lspconfig.rust_analyzer.setup { custom_user_config = 'custom' } + same({ + custom_user_config = 'custom', + }, user_config) end) end) end) |
