aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMathias Fussenegger <f.mathias@zignar.net>2021-03-18 11:32:33 +0100
committerMathias Fussenegger <f.mathias@zignar.net>2021-03-18 19:53:43 +0100
commit84213b5b9adfaaf133771432ca468cea8faa4cc9 (patch)
tree1c949c17cf99f1b4e144ad8ae9aab33d122a9137 /test
parent191afb42be90c3f39f445c8340632e732e6710f8 (diff)
downloadrneovim-84213b5b9adfaaf133771432ca468cea8faa4cc9.tar.gz
rneovim-84213b5b9adfaaf133771432ca468cea8faa4cc9.tar.bz2
rneovim-84213b5b9adfaaf133771432ca468cea8faa4cc9.zip
lsp: Add support for delete workspaceEdit resource operation
Diffstat (limited to 'test')
-rw-r--r--test/functional/plugin/lsp_spec.lua39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/functional/plugin/lsp_spec.lua b/test/functional/plugin/lsp_spec.lua
index eb8f5e8824..6d3af115fa 100644
--- a/test/functional/plugin/lsp_spec.lua
+++ b/test/functional/plugin/lsp_spec.lua
@@ -1319,6 +1319,45 @@ describe('LSP', function()
eq(true, exec_lua('return vim.loop.fs_stat(...) ~= nil', tmpfile))
eq('', read_file(tmpfile))
end)
+ it('DeleteFile delete file and buffer', function()
+ local tmpfile = helpers.tmpname()
+ write_file(tmpfile, 'Be gone')
+ local uri = exec_lua([[
+ local fname = select(1, ...)
+ local bufnr = vim.fn.bufadd(fname)
+ vim.fn.bufload(bufnr)
+ return vim.uri_from_fname(fname)
+ ]], tmpfile)
+ local edit = {
+ documentChanges = {
+ {
+ kind = 'delete',
+ uri = uri,
+ }
+ }
+ }
+ eq(true, pcall(exec_lua, 'vim.lsp.util.apply_workspace_edit(...)', edit))
+ eq(false, exec_lua('return vim.loop.fs_stat(...) ~= nil', tmpfile))
+ eq(false, exec_lua('return vim.api.nvim_buf_is_loaded(vim.fn.bufadd(...))', tmpfile))
+ end)
+ it('DeleteFile fails if file does not exist and ignoreIfNotExists is false', function()
+ local tmpfile = helpers.tmpname()
+ os.remove(tmpfile)
+ local uri = exec_lua('return vim.uri_from_fname(...)', tmpfile)
+ local edit = {
+ documentChanges = {
+ {
+ kind = 'delete',
+ uri = uri,
+ options = {
+ ignoreIfNotExists = false,
+ }
+ }
+ }
+ }
+ eq(false, pcall(exec_lua, 'vim.lsp.util.apply_workspace_edit(...)', edit))
+ eq(false, exec_lua('return vim.loop.fs_stat(...) ~= nil', tmpfile))
+ end)
end)
describe('completion_list_to_complete_items', function()