1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
Before:
Save g:ale_warn_about_trailing_blank_lines
Save g:ale_warn_about_trailing_whitespace
let g:ale_warn_about_trailing_blank_lines = 1
let g:ale_warn_about_trailing_whitespace = 1
runtime ale_linters/python/pycodestyle.vim
After:
Restore
unlet! b:ale_warn_about_trailing_blank_lines
unlet! b:ale_warn_about_trailing_whitespace
call ale#linter#Reset()
Execute(The pycodestyle handler should parse output):
AssertEqual
\ [
\ {
\ 'lnum': 8,
\ 'col': 3,
\ 'type': 'E',
\ 'text': 'SyntaxError: invalid syntax',
\ 'code': 'E999',
\ },
\ {
\ 'lnum': 69,
\ 'col': 11,
\ 'text': 'multiple imports on one line',
\ 'code': 'E401',
\ 'type': 'E',
\ 'sub_type': 'style',
\ },
\ {
\ 'lnum': 77,
\ 'col': 1,
\ 'text': 'expected 2 blank lines, found 1',
\ 'code': 'E302',
\ 'type': 'E',
\ 'sub_type': 'style',
\ },
\ {
\ 'lnum': 88,
\ 'col': 5,
\ 'text': 'expected 1 blank line, found 0',
\ 'code': 'E301',
\ 'type': 'E',
\ 'sub_type': 'style',
\ },
\ {
\ 'lnum': 222,
\ 'col': 34,
\ 'text': 'deprecated form of raising exception',
\ 'code': 'W602',
\ 'type': 'W',
\ 'sub_type': 'style',
\ },
\ {
\ 'lnum': 544,
\ 'col': 21,
\ 'text': '.has_key() is deprecated, use ''in''',
\ 'code': 'W601',
\ 'type': 'W',
\ 'sub_type': 'style',
\ },
\ ],
\ ale_linters#python#pycodestyle#Handle(bufnr(''), [
\ 'stdin:8:3: E999 SyntaxError: invalid syntax',
\ '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''',
\ ])
Execute(Warnings about trailing whitespace should be reported by default):
AssertEqual
\ [
\ {
\ 'lnum': 6,
\ 'col': 1,
\ 'code': 'W291',
\ 'type': 'W',
\ 'sub_type': 'style',
\ 'text': 'who cares',
\ },
\ {
\ 'lnum': 6,
\ 'col': 1,
\ 'code': 'W293',
\ 'type': 'W',
\ 'sub_type': 'style',
\ 'text': 'who cares',
\ },
\ ],
\ ale_linters#python#pycodestyle#Handle(bufnr(''), [
\ 'foo.py:6:1: W291 who cares',
\ 'foo.py:6:1: W293 who cares',
\ ])
Execute(Disabling trailing whitespace warnings should work):
let b:ale_warn_about_trailing_whitespace = 0
AssertEqual
\ [
\ ],
\ ale_linters#python#pycodestyle#Handle(bufnr(''), [
\ 'foo.py:6:1: W291 who cares',
\ 'foo.py:6:1: W293 who cares',
\ ])
Execute(Warnings about trailing blank lines should be reported by default):
AssertEqual
\ [
\ {
\ 'lnum': 6,
\ 'col': 1,
\ 'code': 'W391',
\ 'type': 'W',
\ 'sub_type': 'style',
\ 'text': 'blank line at end of file',
\ },
\ ],
\ ale_linters#python#pycodestyle#Handle(bufnr(''), [
\ 'foo.py:6:1: W391 blank line at end of file',
\ ])
Execute(Disabling trailing blank line warnings should work):
let b:ale_warn_about_trailing_blank_lines = 0
AssertEqual
\ [
\ ],
\ ale_linters#python#pycodestyle#Handle(bufnr(''), [
\ 'foo.py:6:1: W391 blank line at end of file',
\ ])
Execute(E112 should be a syntax error):
AssertEqual
\ [
\ {
\ 'lnum': 6,
\ 'col': 1,
\ 'code': 'E112',
\ 'type': 'E',
\ 'text': 'expected an indented block',
\ },
\ ],
\ ale_linters#python#pycodestyle#Handle(bufnr(''), [
\ 'foo.py:6:1: E112 expected an indented block',
\ ])
|