mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
30 lines
940 B
Lua
30 lines
940 B
Lua
|
|
local helpers = require('test.functional.helpers')(after_each)
|
||
|
|
|
||
|
|
local eq = helpers.eq
|
||
|
|
local exec_lua = helpers.exec_lua
|
||
|
|
local pcall_err = helpers.pcall_err
|
||
|
|
local matches = helpers.matches
|
||
|
|
|
||
|
|
describe('lsp-handlers', function()
|
||
|
|
describe('vim.lsp._with_extend', function()
|
||
|
|
it('should return a table with the default keys', function()
|
||
|
|
eq({hello = 'world' }, exec_lua [[
|
||
|
|
return vim.lsp._with_extend('test', { hello = 'world' })
|
||
|
|
]])
|
||
|
|
end)
|
||
|
|
|
||
|
|
it('should override with config keys', function()
|
||
|
|
eq({hello = 'universe', other = true}, exec_lua [[
|
||
|
|
return vim.lsp._with_extend('test', { other = true, hello = 'world' }, { hello = 'universe' })
|
||
|
|
]])
|
||
|
|
end)
|
||
|
|
|
||
|
|
it('should not allow invalid keys', function()
|
||
|
|
matches(
|
||
|
|
'.*Invalid option for `test`.*',
|
||
|
|
pcall_err(exec_lua, "return vim.lsp._with_extend('test', { hello = 'world' }, { invalid = true })")
|
||
|
|
)
|
||
|
|
end)
|
||
|
|
end)
|
||
|
|
end)
|