Before:
silent! cd /testplugin/test/command_callback
let b:dir = getcwd()
After:
silent execute 'cd ' . fnameescape(b:dir)
unlet! b:dir
call ale#linter#Reset()
Execute(The default C cppcheck command should be correct):
runtime ale_linters/c/cppcheck.vim
call ale#test#SetFilename('cppcheck_paths/two/foo.cpp')
AssertEqual
\ 'cppcheck -q --language=c --enable=style %t',
\ ale_linters#c#cppcheck#GetCommand(bufnr(''))
Execute(cppcheck for C should detect compile_commands.json files):
call ale#test#SetFilename('cppcheck_paths/one/foo.cpp')
\ 'cd ' . ale#Escape(b:dir . '/cppcheck_paths/one') . ' && '
\ . 'cppcheck -q --language=c --project=compile_commands.json --enable=style %t',
Execute(The default C++ cppcheck command should be correct):
runtime ale_linters/cpp/cppcheck.vim
\ 'cppcheck -q --language=c++ --enable=style %t',
\ ale_linters#cpp#cppcheck#GetCommand(bufnr(''))
Execute(cppcheck for C++ should detect compile_commands.json files):
\ . 'cppcheck -q --language=c++ --project=compile_commands.json --enable=style %t',