summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2017-11-17 18:11:22 +0000
committerw0rp <devw0rp@gmail.com>2017-11-17 18:11:28 +0000
commit49ccfb1a00e09f6757b6e597883c95a34d612771 (patch)
treec8e9cb5928897c5ba3efe4aa85a85ac23f2c163d /test
parent0e96d4576ad44ab66c075eed83d71ed0451dc645 (diff)
downloadale-49ccfb1a00e09f6757b6e597883c95a34d612771.zip
Fix #516 - Add support for pyflakes for Python
Diffstat (limited to 'test')
-rwxr-xr-xtest/command_callback/python_paths/with_virtualenv/env/Scripts/pyflakes.exe0
-rwxr-xr-xtest/command_callback/python_paths/with_virtualenv/env/bin/pyflakes0
-rw-r--r--test/command_callback/test_pyflakes_command_callback.vader49
-rw-r--r--test/handler/test_pyflakes_handler.vader24
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',
+ \ ])