summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMichael <micthiesen@gmail.com>2017-08-25 04:46:56 -0700
committerw0rp <w0rp@users.noreply.github.com>2017-08-25 12:46:56 +0100
commit8f8d015daeb2070b20c8296dd8488e706332b5b7 (patch)
treea35320bd87f48a7e72fb6b51d7e0cfa27a6705eb /test
parent4bea50b82f53a351d218cc3af120b460b9d1639f (diff)
downloadale-8f8d015daeb2070b20c8296dd8488e706332b5b7.zip
Add pycodestyle Python linter support (#872)
Add a pycodestyle linter
Diffstat (limited to 'test')
-rw-r--r--test/command_callback/test_pycodestyle_command_callback.vader23
-rw-r--r--test/handler/test_pycodestyle_handler.vader48
2 files changed, 71 insertions, 0 deletions
diff --git a/test/command_callback/test_pycodestyle_command_callback.vader b/test/command_callback/test_pycodestyle_command_callback.vader
new file mode 100644
index 00000000..a5163461
--- /dev/null
+++ b/test/command_callback/test_pycodestyle_command_callback.vader
@@ -0,0 +1,23 @@
+Before:
+ runtime ale_linters/python/pycodestyle.vim
+ Save g:ale_python_pycodestyle_executable,
+ \ g:ale_python_pycodestyle_options,
+ \ g:ale_python_pycodestyle_use_global
+
+After:
+ call ale#linter#Reset()
+ Restore
+
+Execute(The pycodestyle command callback should return default string):
+ AssertEqual '''pycodestyle'' -',
+ \ ale_linters#python#pycodestyle#GetCommand(bufnr(''))
+
+Execute(The pycodestyle command callback should allow options):
+ let g:ale_python_pycodestyle_options = '--exclude=test*.py'
+ AssertEqual '''pycodestyle'' --exclude=test*.py -',
+ \ ale_linters#python#pycodestyle#GetCommand(bufnr(''))
+
+Execute(The pycodestyle executable should be configurable):
+ let g:ale_python_pycodestyle_executable = '~/.local/bin/pycodestyle'
+ AssertEqual '''~/.local/bin/pycodestyle'' -',
+ \ ale_linters#python#pycodestyle#GetCommand(bufnr(''))
diff --git a/test/handler/test_pycodestyle_handler.vader b/test/handler/test_pycodestyle_handler.vader
new file mode 100644
index 00000000..cc83fc83
--- /dev/null
+++ b/test/handler/test_pycodestyle_handler.vader
@@ -0,0 +1,48 @@
+Before:
+ runtime ale_linters/python/pycodestyle.vim
+
+After:
+ call ale#linter#Reset()
+ silent file something_else.py
+
+Execute(The pycodestyle handler should parse output):
+ AssertEqual
+ \ [
+ \ {
+ \ 'lnum': 69,
+ \ 'col': 11,
+ \ 'text': 'E401 multiple imports on one line',
+ \ 'type': 'E',
+ \ },
+ \ {
+ \ 'lnum': 77,
+ \ 'col': 1,
+ \ 'text': 'E302 expected 2 blank lines, found 1',
+ \ 'type': 'E',
+ \ },
+ \ {
+ \ 'lnum': 88,
+ \ 'col': 5,
+ \ 'text': 'E301 expected 1 blank line, found 0',
+ \ 'type': 'E',
+ \ },
+ \ {
+ \ 'lnum': 222,
+ \ 'col': 34,
+ \ 'text': 'W602 deprecated form of raising exception',
+ \ 'type': 'W',
+ \ },
+ \ {
+ \ 'lnum': 544,
+ \ 'col': 21,
+ \ 'text': 'W601 .has_key() is deprecated, use ''in''',
+ \ 'type': 'W',
+ \ },
+ \ ],
+ \ ale_linters#python#pycodestyle#Handle(bufnr(''), [
+ \ 'stdin:69:11: E401 multiple imports on one line',
+ \ 'stdin:77:1: E302 expected 2 blank lines, found 1',
+ \ 'stdin:88:5: E301 expected 1 blank line, found 0',
+ \ 'stdin:222:34: W602 deprecated form of raising exception',
+ \ 'example.py:544:21: W601 .has_key() is deprecated, use ''in''',
+ \ ])