ale/test/command_callback/test_c_clangd_command_callb...

52 lines
1.5 KiB
Plaintext

Before:
call ale#assert#SetUpLinterTest('c', 'clangd')
Save &filetype
let &filetype = 'c'
Save b:ale_c_clangd_options
Save b:ale_c_build_dir
Save b:ale_c_build_dir_names
Save b:ale_c_parse_compile_commands
After:
call ale#assert#TearDownLinterTest()
Execute(The language string should be correct):
AssertLSPLanguage 'c'
Execute(The default executable should be correct):
AssertLinter 'clangd', ale#Escape('clangd')
Execute(The project root should be detected correctly):
call ale#test#SetFilename(tempname() . '/dummy.c')
AssertLSPProject ''
call ale#test#SetFilename('clangd_paths/with_compile_commands/dummy.c')
AssertLSPProject ale#path#Simplify(g:dir . '/clangd_paths/with_compile_commands')
Execute(The executable should be configurable):
let g:ale_c_clangd_executable = 'foobar'
AssertLinter 'foobar', ale#Escape('foobar')
Execute(The options should be configurable):
let b:ale_c_clangd_options = '-compile-commands-dir=foo'
AssertLinter 'clangd', ale#Escape('clangd') . ' ' . b:ale_c_clangd_options
Execute(The compile command database should be detected correctly):
call ale#test#SetFilename('clangd_paths/with_build_dir/dummy_src/dummy.c')
let b:ale_c_clangd_options = ''
let b:ale_c_build_dir = ''
let b:ale_c_build_dir_names = ['unusual_build_dir_name']
let b:ale_c_parse_compile_commands = 1
AssertLinter 'clangd', ale#Escape('clangd')
\ . ' -compile-commands-dir='
\ . ale#Escape(ale#path#Simplify(g:dir . '/clangd_paths/with_build_dir/unusual_build_dir_name'))