mirror of
https://github.com/dense-analysis/ale.git
synced 2026-01-09 13:02:28 +08:00
Add clangtidy fixer (#2548)
* Add clangtidy fixer * Add extra_options to clangtidy fixer * Also, use cpp variables in cpp filetypes
This commit is contained in:
51
test/fixers/test_clangtidy_fixer_callback.vader
Normal file
51
test/fixers/test_clangtidy_fixer_callback.vader
Normal file
@@ -0,0 +1,51 @@
|
||||
Before:
|
||||
Save g:ale_c_clangtidy_executable
|
||||
|
||||
" Use an invalid global executable, so we don't match it.
|
||||
let g:ale_c_clangtidy_executable = 'xxxinvalid'
|
||||
let g:ale_c_build_dir = ''
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ../command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
||||
call ale#test#RestoreDirectory()
|
||||
|
||||
Execute(The clangtidy callback should return the correct default values):
|
||||
call ale#test#SetFilename('c_paths/dummy.c')
|
||||
|
||||
AssertEqual
|
||||
\ {
|
||||
\ 'read_temporary_file': 1,
|
||||
\ 'command': ale#Escape(g:ale_c_clangtidy_executable)
|
||||
\ . ' -fix -fix-errors %t'
|
||||
\ },
|
||||
\ ale#fixers#clangtidy#Fix(bufnr(''))
|
||||
|
||||
Execute(The clangtidy callback should include any additional options):
|
||||
call ale#test#SetFilename('c_paths/dummy.c')
|
||||
let g:ale_c_clangtidy_extra_options = '--some-option'
|
||||
|
||||
AssertEqual
|
||||
\ {
|
||||
\ 'read_temporary_file': 1,
|
||||
\ 'command': ale#Escape(g:ale_c_clangtidy_executable)
|
||||
\ . ' -fix -fix-errors --some-option %t',
|
||||
\ },
|
||||
\ ale#fixers#clangtidy#Fix(bufnr(''))
|
||||
|
||||
Execute(The clangtidy callback should support cpp files):
|
||||
call ale#test#SetFilename('c_paths/dummy.cpp')
|
||||
let g:ale_cpp_clangtidy_executable = 'invalidpp'
|
||||
set filetype=cpp " The test fails without this
|
||||
|
||||
AssertEqual
|
||||
\ {
|
||||
\ 'read_temporary_file': 1,
|
||||
\ 'command': ale#Escape(g:ale_cpp_clangtidy_executable)
|
||||
\ . ' -fix -fix-errors %t',
|
||||
\ },
|
||||
\ ale#fixers#clangtidy#Fix(bufnr(''))
|
||||
Reference in New Issue
Block a user