ale/test/command_callback/test_cpp_cquery_command_cal...

41 lines
1.2 KiB
Plaintext

" Author: Ben Falconer <ben@falconers.me.uk>
" Description: A language server for C++
Before:
call ale#assert#SetUpLinterTest('cpp', 'cquery')
After:
call ale#assert#TearDownLinterTest()
Execute(The project root should be detected correctly using compile_commands.json file):
call ale#test#SetFilename(tempname() . '/dummy.cpp')
AssertLSPProject ''
call ale#test#SetFilename('../test-files/cquery/dummy.cpp')
AssertLSPProject ale#path#Simplify(g:dir . '/../test-files/cquery')
Execute(The project root should be detected correctly using .cquery file):
call ale#test#SetFilename(tempname() . '/dummy.cpp')
AssertLSPProject ''
call ale#test#SetFilename('../test-files/cquery/with_cquery/dummy.cpp')
AssertLSPProject ale#path#Simplify(g:dir . '/../test-files/cquery/with_cquery')
Execute(The executable should be configurable):
AssertLinter 'cquery', ale#Escape('cquery')
let b:ale_cpp_cquery_executable = 'foobar'
AssertLinter 'foobar', ale#Escape('foobar')
Execute(The cache directory should be configurable):
AssertLSPOptions {'cacheDirectory': expand('$HOME/.cache/cquery')}
let b:ale_cpp_cquery_cache_directory = '/foo/bar'
AssertLSPOptions {'cacheDirectory': '/foo/bar'}