summaryrefslogtreecommitdiff
path: root/test/lsp/test_lsp_root_detection.vader
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2021-03-01 20:51:29 +0000
committerw0rp <devw0rp@gmail.com>2021-03-01 20:51:29 +0000
commit680ba68d815d772e6461e9ca8306822da64a48aa (patch)
tree39ff97bbb032d91b3a91dde3cb8af15be13bbf80 /test/lsp/test_lsp_root_detection.vader
parent9fe7b1fe6a23fb55e6d782293585d58193123f59 (diff)
downloadale-680ba68d815d772e6461e9ca8306822da64a48aa.zip
#3599 - Use ale_root instead of ale_lsp_root
The `ale_lsp_root` setting is now deprecated, and `ale_root` should be used instead. The setting will be used for both setting the root easily for LSP linters, and for running other linters over whole projects.
Diffstat (limited to 'test/lsp/test_lsp_root_detection.vader')
-rw-r--r--test/lsp/test_lsp_root_detection.vader50
1 files changed, 39 insertions, 11 deletions
diff --git a/test/lsp/test_lsp_root_detection.vader b/test/lsp/test_lsp_root_detection.vader
index 3de4d825..291300f0 100644
--- a/test/lsp/test_lsp_root_detection.vader
+++ b/test/lsp/test_lsp_root_detection.vader
@@ -1,4 +1,12 @@
Before:
+ Save g:ale_lsp_root
+ Save g:ale_root
+ Save b:ale_lsp_root
+ Save b:ale_root
+
+ unlet! g:ale_lsp_root
+ let g:ale_root = {}
+
call ale#assert#SetUpLinterTest('c', 'clangd')
function! Hook1(buffer)
@@ -6,52 +14,72 @@ Before:
endfunction
After:
- let g:ale_lsp_root = {}
- unlet! b:ale_lsp_root
+ Restore
+
delfunction Hook1
call ale#assert#TearDownLinterTest()
Execute(The buffer-specific variable can be a string):
- let b:ale_lsp_root = '/some/path'
+ let b:ale_root = '/some/path'
call ale#test#SetFilename('other-file.c')
AssertLSPProject '/some/path'
Execute(The buffer-specific variable can be a dictionary):
- let b:ale_lsp_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
+ let b:ale_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
call ale#test#SetFilename('other-file.c')
AssertLSPProject '/some/path'
Execute(The buffer-specific variable can have funcrefs):
- let b:ale_lsp_root = {'clangd': function('Hook1'), 'golangserver': '/path'}
+ let b:ale_root = {'clangd': function('Hook1'), 'golangserver': '/path'}
call ale#test#SetFilename('other-file.c')
AssertLSPProject 'abc123'
+Execute(The buffer-specific variable can be the old ale_lsp_root setting):
+ let b:ale_lsp_root = '/some/path'
+ call ale#test#SetFilename('other-file.c')
+
+ AssertLSPProject '/some/path'
+
Execute(The global variable can be a dictionary):
- let g:ale_lsp_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
+ let g:ale_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
call ale#test#SetFilename('other-file.c')
AssertLSPProject '/some/path'
Execute(The global variable can have funcrefs):
- let g:ale_lsp_root = {'clangd': function('Hook1'), 'golangserver': '/path'}
+ let g:ale_root = {'clangd': function('Hook1'), 'golangserver': '/path'}
call ale#test#SetFilename('other-file.c')
AssertLSPProject 'abc123'
Execute(The buffer-specific variable overrides the global variable):
- let b:ale_lsp_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
- let g:ale_lsp_root = {'clangd': '/not/this/path', 'golangserver': '/elsewhere'}
+ let b:ale_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
+ let g:ale_root = {'clangd': '/not/this/path', 'golangserver': '/elsewhere'}
call ale#test#SetFilename('other-file.c')
AssertLSPProject '/some/path'
Execute(The global variable is queried if the buffer-specific has no value):
- let b:ale_lsp_root = {'golangserver': '/other/path'}
- let g:ale_lsp_root = {'clangd': '/some/path', 'golangserver': '/elsewhere'}
+ let b:ale_root = {'golangserver': '/other/path'}
+ let g:ale_root = {'clangd': '/some/path', 'golangserver': '/elsewhere'}
+ call ale#test#SetFilename('other-file.c')
+
+ AssertLSPProject '/some/path'
+
+Execute(The global variable can be the old ale_lsp_root setting):
+ let g:ale_root = {}
+ let g:ale_lsp_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
+ call ale#test#SetFilename('other-file.c')
+
+ AssertLSPProject '/some/path'
+
+Execute(A non-empty ale_root setting should replace the old ale_lsp_root):
+ let g:ale_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
+ let g:ale_lsp_root = {'clangd': '/xxx', 'golangserver': '/xxx'}
call ale#test#SetFilename('other-file.c')
AssertLSPProject '/some/path'