summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarlos Coêlho <carlos@vinta.com.br>2017-12-01 14:04:30 -0300
committerw0rp <w0rp@users.noreply.github.com>2017-12-01 17:04:30 +0000
commitdaee4a4722ab2ddd9490a50de2c4c1f590325aa7 (patch)
tree1007c204f4c22958a28c421a9a839cc37018a721 /test
parent948035e13d466d4e9a1a0cd9a1596cc39bde501e (diff)
downloadale-daee4a4722ab2ddd9490a50de2c4c1f590325aa7.zip
Add prospector for checking Python code (#1183)
Diffstat (limited to 'test')
-rw-r--r--test/handler/test_prospector_handler.vader158
1 files changed, 158 insertions, 0 deletions
diff --git a/test/handler/test_prospector_handler.vader b/test/handler/test_prospector_handler.vader
new file mode 100644
index 00000000..7962f6cd
--- /dev/null
+++ b/test/handler/test_prospector_handler.vader
@@ -0,0 +1,158 @@
+Before:
+ Save g:ale_warn_about_trailing_whitespace
+
+ let g:ale_warn_about_trailing_whitespace = 1
+
+ runtime ale_linters/python/prospector.vim
+
+After:
+ Restore
+
+ call ale#linter#Reset()
+
+ silent file something_else.py
+
+Execute(Basic prospector errors should be handle):
+ AssertEqual
+ \ [
+ \ {
+ \ 'lnum': 20,
+ \ 'col': 1,
+ \ 'text': 'Trailing whitespace',
+ \ 'code': '(pylint) trailing-whitespace',
+ \ 'type': 'E',
+ \ },
+ \ {
+ \ 'lnum': 1,
+ \ 'col': 1,
+ \ 'text': 'Missing module docstring',
+ \ 'code': '(pylint) missing-docstring',
+ \ 'type': 'E',
+ \ },
+ \ {
+ \ 'lnum': 2,
+ \ 'col': 1,
+ \ 'text': 'Missing function docstring',
+ \ 'code': '(pylint) missing-docstring',
+ \ 'type': 'E',
+ \ },
+ \ {
+ \ 'lnum': 3,
+ \ 'col': 5,
+ \ 'text': '''break'' not properly in loop',
+ \ 'code': '(pylint) not-in-loop',
+ \ 'type': 'E',
+ \ },
+ \ {
+ \ 'lnum': 4,
+ \ 'col': 5,
+ \ 'text': 'Unreachable code',
+ \ 'code': '(pylint) unreachable',
+ \ 'type': 'E',
+ \ },
+ \ {
+ \ 'lnum': 7,
+ \ 'col': 33,
+ \ 'text': 'No exception type(s) specified',
+ \ 'code': '(pylint) bare-except',
+ \ 'type': 'E',
+ \ },
+ \ ],
+ \ ale_linters#python#prospector#Handle(bufnr(''), [
+ \ '{',
+ \ ' "messages": [',
+ \ ' {',
+ \ ' "source": "pylint",',
+ \ ' "code": "trailing-whitespace",',
+ \ ' "message": "Trailing whitespace",',
+ \ ' "location": {',
+ \ ' "character": 0,',
+ \ ' "line": 20',
+ \ ' }',
+ \ ' },',
+ \ ' {',
+ \ ' "source": "pylint",',
+ \ ' "code": "missing-docstring",',
+ \ ' "message": "Missing module docstring",',
+ \ ' "location": {',
+ \ ' "character": 0,',
+ \ ' "line": 1',
+ \ ' }',
+ \ ' },',
+ \ ' {',
+ \ ' "source": "pylint",',
+ \ ' "code": "missing-docstring",',
+ \ ' "message": "Missing function docstring",',
+ \ ' "location": {',
+ \ ' "character": 0,',
+ \ ' "line": 2',
+ \ ' }',
+ \ ' },',
+ \ ' {',
+ \ ' "source": "pylint",',
+ \ ' "code": "not-in-loop",',
+ \ ' "message": "''break'' not properly in loop",',
+ \ ' "location": {',
+ \ ' "character": 4,',
+ \ ' "line": 3',
+ \ ' }',
+ \ ' },',
+ \ ' {',
+ \ ' "source": "pylint",',
+ \ ' "code": "unreachable",',
+ \ ' "message": "Unreachable code",',
+ \ ' "location": {',
+ \ ' "character": 4,',
+ \ ' "line": 4',
+ \ ' }',
+ \ ' },',
+ \ ' {',
+ \ ' "source": "pylint",',
+ \ ' "code": "bare-except",',
+ \ ' "message": "No exception type(s) specified",',
+ \ ' "location": {',
+ \ ' "character": 32,',
+ \ ' "line": 7',
+ \ ' }',
+ \ ' }',
+ \ ' ]',
+ \ '}',
+ \ ])
+
+Execute(Ignoring trailing whitespace messages should work):
+ let g:ale_warn_about_trailing_whitespace = 0
+
+ AssertEqual
+ \ [
+ \ {
+ \ 'lnum': 1,
+ \ 'col': 1,
+ \ 'text': 'Missing module docstring',
+ \ 'code': '(pylint) missing-docstring',
+ \ 'type': 'E',
+ \ },
+ \ ],
+ \ ale_linters#python#prospector#Handle(bufnr(''), [
+ \ '{',
+ \ ' "messages": [',
+ \ ' {',
+ \ ' "source": "pylint",',
+ \ ' "code": "trailing-whitespace",',
+ \ ' "message": "Trailing whitespace",',
+ \ ' "location": {',
+ \ ' "character": 0,',
+ \ ' "line": 4',
+ \ ' }',
+ \ ' },',
+ \ ' {',
+ \ ' "source": "pylint",',
+ \ ' "code": "missing-docstring",',
+ \ ' "message": "Missing module docstring",',
+ \ ' "location": {',
+ \ ' "character": 0,',
+ \ ' "line": 1',
+ \ ' }',
+ \ ' }',
+ \ ' ]',
+ \ '}',
+ \ ])