2017-04-03 21:24:30 +00:00
|
|
|
Before:
|
|
|
|
Save g:ale_run_synchronously
|
|
|
|
Save g:ale_linters
|
|
|
|
Save g:ale_history_log_output
|
|
|
|
Save g:ale_cpp_gcc_options
|
|
|
|
|
|
|
|
silent! cd /testplugin/test/c_tests
|
|
|
|
|
|
|
|
let g:ale_run_synchronously = 1
|
|
|
|
let g:ale_linters = {'c': ['gcc'], 'cpp': ['g++']}
|
|
|
|
let g:ale_history_log_output = 1
|
|
|
|
let g:ale_cpp_gcc_options = '-Wall'
|
|
|
|
|
|
|
|
function! GetCommandOutput()
|
|
|
|
if empty(g:ale_buffer_info[bufnr('')].history)
|
|
|
|
return ''
|
|
|
|
endif
|
|
|
|
|
|
|
|
return join(g:ale_buffer_info[bufnr('')].history[-1].output, "\n")
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
After:
|
|
|
|
Restore
|
|
|
|
delfunction GetCommandOutput
|
|
|
|
call ale#linter#Reset()
|
|
|
|
call ale#engine#SetResults(bufnr(''), [])
|
|
|
|
call ale#cleanup#Buffer(bufnr(''))
|
|
|
|
|
|
|
|
Given c (A test C file):
|
|
|
|
int main() {
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
Execute(Basic errors should be returned for GCC for C files):
|
|
|
|
call ale#Lint()
|
|
|
|
|
2017-04-11 19:32:57 +00:00
|
|
|
AssertEqual
|
|
|
|
\ [{'lnum': 3, 'col': 1}],
|
|
|
|
\ map(getloclist(0), '{''lnum'': v:val.lnum, ''col'': v:val.col}')
|
2017-04-03 21:24:30 +00:00
|
|
|
|
|
|
|
Assert match(getloclist(0)[0].text, '\v^expected .*;.* before .*\}.* token$') >= 0,
|
|
|
|
\ 'Invalid error text: ' . getloclist(0)[0].text
|
|
|
|
|
|
|
|
Given cpp (A test C++ file):
|
|
|
|
int main() {
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
Execute(Basic errors should be returned for GCC for C++ files):
|
|
|
|
call ale#Lint()
|
|
|
|
|
2017-04-11 19:32:57 +00:00
|
|
|
AssertEqual
|
|
|
|
\ [{'lnum': 3, 'col': 1}],
|
|
|
|
\ map(getloclist(0), '{''lnum'': v:val.lnum, ''col'': v:val.col}')
|
2017-04-03 21:24:30 +00:00
|
|
|
|
|
|
|
Assert match(getloclist(0)[0].text, '\v^expected .*;.* before .*\}.* token$') >= 0,
|
2017-04-11 19:32:57 +00:00
|
|
|
|
|
|
|
Given c (A test C file with a header containing broken code):
|
|
|
|
// Some comment line
|
|
|
|
#include "broken.h"
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
Execute(Basic errors should be returned for GCC for C files with headers):
|
|
|
|
call ale#Lint()
|
|
|
|
|
|
|
|
AssertEqual
|
|
|
|
\ [{'lnum': 2, 'col': 0}],
|
|
|
|
\ map(getloclist(0), '{''lnum'': v:val.lnum, ''col'': v:val.col}')
|
|
|
|
|
|
|
|
AssertEqual 'Problems were found in the header (See :ALEDetail)', getloclist(0)[0].text
|
|
|
|
|
|
|
|
Given cpp (A test C++ file with a header containing broken code):
|
|
|
|
// Some comment line
|
|
|
|
#include "broken.h"
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
Execute(Basic errors should be returned for GCC for C++ files with headers):
|
|
|
|
call ale#Lint()
|
|
|
|
|
|
|
|
AssertEqual
|
|
|
|
\ [{'lnum': 2, 'col': 0}],
|
|
|
|
\ map(getloclist(0), '{''lnum'': v:val.lnum, ''col'': v:val.col}')
|
|
|
|
|
|
|
|
AssertEqual 'Problems were found in the header (See :ALEDetail)', getloclist(0)[0].text
|