mirror of
https://github.com/dense-analysis/ale.git
synced 2026-02-03 16:42:50 +08:00
Cover basic GCC functionality with tests
This commit is contained in:
63
test/c_tests/test_gcc.vader
Normal file
63
test/c_tests/test_gcc.vader
Normal file
@@ -0,0 +1,63 @@
|
||||
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()
|
||||
|
||||
AssertEqual [{
|
||||
\ 'lnum': 3,
|
||||
\ 'col': 1,
|
||||
\ }],
|
||||
\ map(getloclist(0), '{''lnum'': v:val.lnum, ''col'': v:val.col}'),
|
||||
\ 'No errors returned! Got: ' . GetCommandOutput()
|
||||
|
||||
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()
|
||||
|
||||
AssertEqual [{
|
||||
\ 'lnum': 3,
|
||||
\ 'col': 1,
|
||||
\ }],
|
||||
\ map(getloclist(0), '{''lnum'': v:val.lnum, ''col'': v:val.col}'),
|
||||
\ 'No errors returned! Got: ' . GetCommandOutput()
|
||||
|
||||
Assert match(getloclist(0)[0].text, '\v^expected .*;.* before .*\}.* token$') >= 0,
|
||||
\ 'Invalid error text: ' . getloclist(0)[0].text
|
||||
@@ -8,6 +8,7 @@ set runtimepath=/home/vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,/testplu
|
||||
filetype plugin indent on
|
||||
syntax on
|
||||
set shell=/bin/sh
|
||||
set shellcmdflag=-c
|
||||
set nocompatible
|
||||
set tabstop=4
|
||||
set softtabstop=4
|
||||
|
||||
Reference in New Issue
Block a user