diff options
author | w0rp <devw0rp@gmail.com> | 2017-04-03 22:24:30 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2017-04-03 22:24:30 +0100 |
commit | 85d86620f7459fd7caf14e4b8be2880006b36881 (patch) | |
tree | 569329ec9fad2677762d46d8e7f7918b5e1d190d /test | |
parent | 10d8b4bfd70562ebc48b7b1a72644dfe0292e9ab (diff) | |
download | ale-85d86620f7459fd7caf14e4b8be2880006b36881.zip |
Cover basic GCC functionality with tests
Diffstat (limited to 'test')
-rw-r--r-- | test/c_tests/test_gcc.vader | 63 | ||||
-rw-r--r-- | test/vimrc | 1 |
2 files changed, 64 insertions, 0 deletions
diff --git a/test/c_tests/test_gcc.vader b/test/c_tests/test_gcc.vader new file mode 100644 index 00000000..67e4e426 --- /dev/null +++ b/test/c_tests/test_gcc.vader @@ -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 |