--- /dev/null
+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()
+
+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',
+ \ ' }',
+ \ ' }',
+ \ ' ]',
+ \ '}',
+ \ ])
+
+Execute(The prospector handler should handle empty output):
+ AssertEqual
+ \ [],
+ \ ale_linters#python#prospector#Handle(bufnr(''), [])