From f6b0a28cbacba36954cec02bffaee9f126610d69 Mon Sep 17 00:00:00 2001 From: w0rp Date: Wed, 14 Jun 2017 16:20:30 +0100 Subject: Split up the flake8 and ansible-lint handlers --- .../test_python_fixer_command_callback.vader | 8 +-- test/handler/test_ansible_lint_handler.vader | 33 ++++++++++ test/handler/test_common_handlers.vader | 72 --------------------- test/handler/test_flake8_handler.vader | 74 +++++++++++++++++++++- 4 files changed, 109 insertions(+), 78 deletions(-) create mode 100644 test/handler/test_ansible_lint_handler.vader (limited to 'test') diff --git a/test/fixers/test_python_fixer_command_callback.vader b/test/fixers/test_python_fixer_command_callback.vader index 59135d38..7ee0cafe 100644 --- a/test/fixers/test_python_fixer_command_callback.vader +++ b/test/fixers/test_python_fixer_command_callback.vader @@ -11,18 +11,18 @@ After: Execute(The python GetExecutable callbacks should return the correct path): AssertEqual \ '', - \ ale#handlers#python#GetExecutable(bufnr(''), 'isort') + \ ale#python#GetExecutable(bufnr(''), 'isort') silent execute 'file ' . fnameescape(g:dir . '/python_paths/with_virtualenv/subdir/foo/bar.py') AssertEqual \ g:dir . '/python_paths/with_virtualenv/env/bin/isort', - \ ale#handlers#python#GetExecutable(bufnr(''), 'isort') + \ ale#python#GetExecutable(bufnr(''), 'isort') AssertEqual \ g:dir . '/python_paths/with_virtualenv/env/bin/autopep8', - \ ale#handlers#python#GetExecutable(bufnr(''), 'autopep8') + \ ale#python#GetExecutable(bufnr(''), 'autopep8') AssertEqual \ g:dir . '/python_paths/with_virtualenv/env/bin/yapf', - \ ale#handlers#python#GetExecutable(bufnr(''), 'yapf') + \ ale#python#GetExecutable(bufnr(''), 'yapf') Execute(The autopep8 callbacks should return the correct default values): diff --git a/test/handler/test_ansible_lint_handler.vader b/test/handler/test_ansible_lint_handler.vader new file mode 100644 index 00000000..6e0261d2 --- /dev/null +++ b/test/handler/test_ansible_lint_handler.vader @@ -0,0 +1,33 @@ +Before: + runtime ale_linters/ansible/ansible_lint.vim + +After: + call ale#linter#Reset() + +Execute(The ansible-lint handler should handle basic errors): + AssertEqual + \ [ + \ { + \ 'lnum': 35, + \ 'col': 0, + \ 'type': 'E', + \ 'text': "EANSIBLE0002: Trailing whitespace", + \ }, + \ ], + \ ale_linters#ansible#ansible_lint#Handle(42, [ + \ "test.yml:35: [EANSIBLE0002] Trailing whitespace", + \ ]) + +Execute (The ansible-lint 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.yml:6:6: E111 indentation is not a multiple of four', + \ ]) diff --git a/test/handler/test_common_handlers.vader b/test/handler/test_common_handlers.vader index 0a83f944..9a273946 100644 --- a/test/handler/test_common_handlers.vader +++ b/test/handler/test_common_handlers.vader @@ -40,78 +40,6 @@ Execute(HandleCSSLintFormat should handle CSS errors without groups): \ 'something.css: line 8, col 3, Warning - Unknown property ''fill-opacity''.', \ ]) -Execute (HandlePEP8Format should handle the correct lines of output): - AssertEqual - \ [ - \ { - \ 'lnum': 6, - \ 'col': 6, - \ 'type': 'E', - \ 'text': 'E111: indentation is not a multiple of four', - \ }, - \ { - \ 'lnum': 35, - \ 'col': 0, - \ 'type': 'E', - \ 'text': "EANSIBLE0002: Trailing whitespace", - \ }, - \ ], - \ ale#handlers#python#HandlePEP8Format(42, [ - \ "stdin:6:6: E111 indentation is not a multiple of four", - \ "test.yml:35: [EANSIBLE0002] Trailing whitespace", - \ ]) - -Execute (HandlePEP8Format should handle names with spaces): - AssertEqual - \ [ - \ { - \ 'lnum': 6, - \ 'col': 6, - \ 'type': 'E', - \ 'text': 'E111: indentation is not a multiple of four', - \ }, - \ ], - \ ale#handlers#python#HandlePEP8Format(42, [ - \ 'C:\something\with spaces.py:6:6: E111 indentation is not a multiple of four', - \ ]) - -Execute (HandlePEP8Format should 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 ', - \ ' from flake8.main.cli import main', - \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/cli.py", line 2, in ', - \ ' from flake8.main import application', - \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/application.py", line 17, in ', - \ ' from flake8.plugins import manager as plugin_manager', - \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/plugins/manager.py", line 5, in ', - \ ' import pkg_resources', - \ ' File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 35, in ', - \ ' import email.parser', - \ 'ImportError: No module named parser', - \ ], "\n"), - \ }, - \ ], - \ ale#handlers#python#HandlePEP8Format(42, [ - \ 'Traceback (most recent call last):', - \ ' File "/usr/local/bin/flake8", line 7, in ', - \ ' from flake8.main.cli import main', - \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/cli.py", line 2, in ', - \ ' from flake8.main import application', - \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/application.py", line 17, in ', - \ ' from flake8.plugins import manager as plugin_manager', - \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/plugins/manager.py", line 5, in ', - \ ' import pkg_resources', - \ ' File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 35, in ', - \ ' import email.parser', - \ 'ImportError: No module named parser', - \ ]) - Execute (HandleGCCFormat should handle the correct lines of output): AssertEqual \ [ 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 ', + \ ' from flake8.main.cli import main', + \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/cli.py", line 2, in ', + \ ' from flake8.main import application', + \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/application.py", line 17, in ', + \ ' from flake8.plugins import manager as plugin_manager', + \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/plugins/manager.py", line 5, in ', + \ ' import pkg_resources', + \ ' File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 35, in ', + \ ' 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 ', + \ ' from flake8.main.cli import main', + \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/cli.py", line 2, in ', + \ ' from flake8.main import application', + \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/application.py", line 17, in ', + \ ' from flake8.plugins import manager as plugin_manager', + \ ' File "/usr/local/lib/python2.7/dist-packages/flake8/plugins/manager.py", line 5, in ', + \ ' import pkg_resources', + \ ' File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 35, in ', + \ ' 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', + \ ]) -- cgit v1.2.3