summaryrefslogtreecommitdiff
path: root/test/handler/test_flake8_handler.vader
diff options
context:
space:
mode:
Diffstat (limited to 'test/handler/test_flake8_handler.vader')
-rw-r--r--test/handler/test_flake8_handler.vader74
1 files changed, 72 insertions, 2 deletions
diff --git a/test/handler/test_flake8_handler.vader b/test/handler/test_flake8_handler.vader
index 15345d89..969d4ec8 100644
--- a/test/handler/test_flake8_handler.vader
+++ b/test/handler/test_flake8_handler.vader
@@ -1,5 +1,24 @@
+Before:
+ runtime ale_linters/python/flake8.vim
-Execute(End column indexes should be set for certain errors):
+After:
+ call ale#linter#Reset()
+
+Execute(The flake8 handler should handle basic errors):
+ AssertEqual
+ \ [
+ \ {
+ \ 'lnum': 6,
+ \ 'col': 6,
+ \ 'type': 'E',
+ \ 'text': 'E111: indentation is not a multiple of four',
+ \ },
+ \ ],
+ \ ale_linters#python#flake8#Handle(1, [
+ \ 'stdin:6:6: E111 indentation is not a multiple of four',
+ \ ])
+
+Execute(The flake8 handler should set end column indexes should be set for certain errors):
AssertEqual
\ [
\ {
@@ -38,10 +57,61 @@ Execute(End column indexes should be set for certain errors):
\ 'text': 'F841: local variable ''test'' is assigned to but never used',
\ },
\ ],
- \ ale#handlers#python#HandlePEP8Format(1, [
+ \ ale_linters#python#flake8#Handle(1, [
\ 'foo.py:25:1: F821 undefined name ''foo''',
\ 'foo.py:28:5: F405 hello may be undefined, or defined from star imports: x',
\ 'foo.py:104:5: F999 ''continue'' not properly in loop',
\ 'foo.py:106:5: F999 ''break'' outside loop',
\ 'foo.py:109:5: F841 local variable ''test'' is assigned to but never used',
\ ])
+
+Execute(The flake8 handler should handle stack traces):
+ AssertEqual
+ \ [
+ \ {
+ \ 'lnum': 1,
+ \ 'text': 'An exception was thrown. See :ALEDetail',
+ \ 'detail': join([
+ \ 'Traceback (most recent call last):',
+ \ ' File "/usr/local/bin/flake8", line 7, in <module>',
+ \ ' from flake8.main.cli import main',
+ \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/cli.py", line 2, in <module>',
+ \ ' from flake8.main import application',
+ \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/application.py", line 17, in <module>',
+ \ ' from flake8.plugins import manager as plugin_manager',
+ \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/plugins/manager.py", line 5, in <module>',
+ \ ' import pkg_resources',
+ \ ' File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 35, in <module>',
+ \ ' import email.parser',
+ \ 'ImportError: No module named parser',
+ \ ], "\n"),
+ \ },
+ \ ],
+ \ ale_linters#python#flake8#Handle(42, [
+ \ 'Traceback (most recent call last):',
+ \ ' File "/usr/local/bin/flake8", line 7, in <module>',
+ \ ' from flake8.main.cli import main',
+ \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/cli.py", line 2, in <module>',
+ \ ' from flake8.main import application',
+ \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/application.py", line 17, in <module>',
+ \ ' from flake8.plugins import manager as plugin_manager',
+ \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/plugins/manager.py", line 5, in <module>',
+ \ ' import pkg_resources',
+ \ ' File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 35, in <module>',
+ \ ' import email.parser',
+ \ 'ImportError: No module named parser',
+ \ ])
+
+Execute (The flake8 handler should handle names with spaces):
+ AssertEqual
+ \ [
+ \ {
+ \ 'lnum': 6,
+ \ 'col': 6,
+ \ 'type': 'E',
+ \ 'text': 'E111: indentation is not a multiple of four',
+ \ },
+ \ ],
+ \ ale_linters#python#flake8#Handle(42, [
+ \ 'C:\something\with spaces.py:6:6: E111 indentation is not a multiple of four',
+ \ ])