diff options
Diffstat (limited to 'test/command_callback/test_flake8_command_callback.vader')
-rw-r--r-- | test/command_callback/test_flake8_command_callback.vader | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/test/command_callback/test_flake8_command_callback.vader b/test/command_callback/test_flake8_command_callback.vader new file mode 100644 index 00000000..bf4dfaff --- /dev/null +++ b/test/command_callback/test_flake8_command_callback.vader @@ -0,0 +1,72 @@ +Before: + runtime ale_linters/python/flake8.vim + silent! execute 'cd /testplugin/test/command_callback' + let g:dir = getcwd() + +After: + silent execute 'cd ' . fnameescape(g:dir) + " Set the file to something else, + " or we'll cause issues when running other tests + silent file 'dummy.py' + unlet! g:dir + + call ale#linter#Reset() + let g:ale_python_flake8_executable = 'flake8' + let g:ale_python_flake8_options = '' + let g:ale_python_flake8_use_global = 0 + + call ale_linters#python#flake8#ClearVersionCache() + +Execute(The flake8 callbacks should return the correct default values): + AssertEqual + \ 'flake8', + \ ale_linters#python#flake8#GetExecutable(bufnr('')) + AssertEqual + \ 'flake8 --version', + \ ale_linters#python#flake8#VersionCheck(bufnr('')) + AssertEqual + \ 'flake8 --stdin-display-name %s -', + \ ale_linters#python#flake8#GetCommand(bufnr(''), ['3.0.0']) + " Try with older versions. + call ale_linters#python#flake8#ClearVersionCache() + AssertEqual + \ 'flake8 -', + \ ale_linters#python#flake8#GetCommand(bufnr(''), ['2.9.9']) + +Execute(The flake8 command callback should let you set options): + let g:ale_python_flake8_options = '--some-option' + + AssertEqual + \ 'flake8 --some-option --stdin-display-name %s -', + \ ale_linters#python#flake8#GetCommand(bufnr(''), ['3.0.4']) + call ale_linters#python#flake8#ClearVersionCache() + AssertEqual + \ 'flake8 --some-option -', + \ ale_linters#python#flake8#GetCommand(bufnr(''), ['2.9.9']) + +Execute(You should be able to set a custom executable and it should be escaped): + let g:ale_python_flake8_executable = 'executable with spaces' + + AssertEqual + \ 'executable with spaces', + \ ale_linters#python#flake8#GetExecutable(bufnr('')) + AssertEqual + \ 'executable\ with\ spaces --version', + \ ale_linters#python#flake8#VersionCheck(bufnr('')) + AssertEqual + \ 'executable\ with\ spaces --stdin-display-name %s -', + \ ale_linters#python#flake8#GetCommand(bufnr(''), ['3.0.0']) + +Execute(The flake8 callbacks should detect virtualenv directories): + silent execute 'file ' . fnameescape(g:dir . '/python_paths/with_virtualenv/subdir/foo/bar.py') + + AssertEqual + \ g:dir . '/python_paths/with_virtualenv/env/bin/flake8', + \ ale_linters#python#flake8#GetExecutable(bufnr('')) + AssertEqual + \ g:dir . '/python_paths/with_virtualenv/env/bin/flake8 --version', + \ ale_linters#python#flake8#VersionCheck(bufnr('')) + AssertEqual + \ g:dir . '/python_paths/with_virtualenv/env/bin/flake8' + \ . ' --stdin-display-name %s -', + \ ale_linters#python#flake8#GetCommand(bufnr(''), ['3.0.0']) |