mirror of
https://github.com/dense-analysis/ale.git
synced 2026-01-01 00:53:29 +08:00
Merge pull request #3292 from dmitrivereshchagin/add-elvis-handler-for-erlang
Add Elvis handler for Erlang
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
Before:
|
||||
let b:file = fnamemodify(bufname(''), ':.')
|
||||
call ale#assert#SetUpLinterTest('erlang', 'elvis')
|
||||
|
||||
After:
|
||||
call ale#assert#TearDownLinterTest()
|
||||
|
||||
Execute(Default command should be correct):
|
||||
AssertLinter 'elvis',
|
||||
\ ale#Escape('elvis') . ' rock --output-format=parsable ' . ale#Escape(b:file)
|
||||
|
||||
Execute(Executable should be configurable):
|
||||
let b:ale_erlang_elvis_executable = '/path/to/elvis'
|
||||
|
||||
AssertLinter '/path/to/elvis',
|
||||
\ ale#Escape('/path/to/elvis') . ' rock --output-format=parsable ' . ale#Escape(b:file)
|
||||
37
test/handler/test_erlang_elvis_handler.vader
Normal file
37
test/handler/test_erlang_elvis_handler.vader
Normal file
@@ -0,0 +1,37 @@
|
||||
Before:
|
||||
runtime ale_linters/erlang/elvis.vim
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
||||
|
||||
Execute(Warning messages should be handled):
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'lnum': 11,
|
||||
\ 'text': "Replace the 'if' expression on line 11 with a 'case' expression or function clauses.",
|
||||
\ 'type': 'W',
|
||||
\ },
|
||||
\ {
|
||||
\ 'lnum': 20,
|
||||
\ 'text': 'Remove the debug call to io:format/1 on line 20.',
|
||||
\ 'type': 'W',
|
||||
\ },
|
||||
\ ],
|
||||
\ ale_linters#erlang#elvis#Handle(bufnr(''), [
|
||||
\ "src/foo.erl:11:no_if_expression:Replace the 'if' expression on line 11 with a 'case' expression or function clauses.",
|
||||
\ 'src/foo.erl:20:no_debug_call:Remove the debug call to io:format/1 on line 20.',
|
||||
\ ])
|
||||
|
||||
Execute(Line length message shouldn't contain the line itself):
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'lnum': 24,
|
||||
\ 'text': 'Line 24 is too long.',
|
||||
\ 'type': 'W',
|
||||
\ },
|
||||
\ ],
|
||||
\ ale_linters#erlang#elvis#Handle(bufnr(''), [
|
||||
\ 'src/foo.erl:24:line_length:Line 24 is too long: io:format("Look ma, too long!"),.',
|
||||
\ ])
|
||||
Reference in New Issue
Block a user