diff options
Diffstat (limited to 'test')
4 files changed, 73 insertions, 0 deletions
diff --git a/test/command_callback/python_paths/with_virtualenv/env/Scripts/pyflakes.exe b/test/command_callback/python_paths/with_virtualenv/env/Scripts/pyflakes.exe new file mode 100755 index 00000000..e69de29b --- /dev/null +++ b/test/command_callback/python_paths/with_virtualenv/env/Scripts/pyflakes.exe diff --git a/test/command_callback/python_paths/with_virtualenv/env/bin/pyflakes b/test/command_callback/python_paths/with_virtualenv/env/bin/pyflakes new file mode 100755 index 00000000..e69de29b --- /dev/null +++ b/test/command_callback/python_paths/with_virtualenv/env/bin/pyflakes diff --git a/test/command_callback/test_pyflakes_command_callback.vader b/test/command_callback/test_pyflakes_command_callback.vader new file mode 100644 index 00000000..30a106c8 --- /dev/null +++ b/test/command_callback/test_pyflakes_command_callback.vader @@ -0,0 +1,49 @@ +Before: + Save g:ale_python_pyflakes_executable + Save g:ale_python_pyflakes_use_global + + unlet! g:ale_python_pyflakes_executable + unlet! g:ale_python_pyflakes_use_global + + let b:bin_dir = has('win32') ? 'Scripts' : 'bin' + + call ale#test#SetDirectory('/testplugin/test/command_callback') + + runtime ale_linters/python/pyflakes.vim + +After: + Restore + + unlet! b:bin_dir + unlet! b:executable + + call ale#test#RestoreDirectory() + call ale#linter#Reset() + +Execute(The pyflakes command callback should return default string): + AssertEqual ale#Escape('pyflakes') . ' %t', + \ ale_linters#python#pyflakes#GetCommand(bufnr('')) + +Execute(The pyflakes executable should be configurable): + let g:ale_python_pyflakes_executable = '~/.local/bin/pyflakes' + + AssertEqual ale#Escape('~/.local/bin/pyflakes') . ' %t', + \ ale_linters#python#pyflakes#GetCommand(bufnr('')) + +Execute(The pyflakes executable should be run from the virtualenv path): + call ale#test#SetFilename('python_paths/with_virtualenv/subdir/foo/bar.py') + + let b:executable = ale#path#Winify( + \ g:dir . '/python_paths/with_virtualenv/env/' . b:bin_dir . '/pyflakes' + \) + + AssertEqual ale#Escape(b:executable) . ' %t', + \ ale_linters#python#pyflakes#GetCommand(bufnr('')) + +Execute(You should be able to override the pyflakes virtualenv lookup): + call ale#test#SetFilename('python_paths/with_virtualenv/subdir/foo/bar.py') + + let g:ale_python_pyflakes_use_global = 1 + + AssertEqual ale#Escape('pyflakes') . ' %t', + \ ale_linters#python#pyflakes#GetCommand(bufnr('')) diff --git a/test/handler/test_pyflakes_handler.vader b/test/handler/test_pyflakes_handler.vader new file mode 100644 index 00000000..ab4fab49 --- /dev/null +++ b/test/handler/test_pyflakes_handler.vader @@ -0,0 +1,24 @@ +Before: + runtime ale_linters/python/pyflakes.vim + +After: + call ale#linter#Reset() + +Execute(The pyflakes handler should handle basic errors): + AssertEqual + \ [ + \ { + \ 'lnum': 1, + \ 'col': 0, + \ 'text': 'undefined name ''foo''', + \ }, + \ { + \ 'lnum': 1, + \ 'col': 7, + \ 'text': 'invalid syntax', + \ }, + \ ], + \ ale_linters#python#pyflakes#Handle(bufnr(''), [ + \ 'test.py:1: undefined name ''foo''', + \ 'test.py:1:7: invalid syntax', + \ ]) |