55 lines
1.6 KiB
Text
55 lines
1.6 KiB
Text
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
|
|
|
|
let b:command_tail = ' -x c'
|
|
|
|
After:
|
|
unlet! b:command_tail
|
|
|
|
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') . b:command_tail
|
|
|
|
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') . b:command_tail
|
|
|
|
Execute(The options should be configurable):
|
|
let b:ale_c_clangd_options = '-compile-commands-dir=foo'
|
|
|
|
AssertLinter 'clangd', ale#Escape('clangd') . b:command_tail . ' ' . 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') . b:command_tail
|
|
\ . ' -compile-commands-dir='
|
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/clangd_paths/with_build_dir/unusual_build_dir_name'))
|
|
|