diff --git a/ale_linters/ruby/brakeman.vim b/ale_linters/ruby/brakeman.vim index fa5617d..5ea531f 100644 --- a/ale_linters/ruby/brakeman.vim +++ b/ale_linters/ruby/brakeman.vim @@ -5,6 +5,10 @@ let g:ale_ruby_brakeman_options = \ get(g:, 'ale_ruby_brakeman_options', '') function! ale_linters#ruby#brakeman#Handle(buffer, lines) abort + if len(a:lines) == 0 + return [] + endif + let l:result = json_decode(join(a:lines, '')) let l:output = [] diff --git a/test/handler/test_brakeman_handler.vader b/test/handler/test_brakeman_handler.vader index bc7182e..6a577be 100644 --- a/test/handler/test_brakeman_handler.vader +++ b/test/handler/test_brakeman_handler.vader @@ -73,3 +73,9 @@ Execute(The brakeman handler should parse JSON correctly): \ ']', \ '}' \ ]) + +Execute(The brakeman handler should parse JSON correctly when there is no output from brakeman): + AssertEqual + \ [], + \ ale_linters#ruby#brakeman#Handle(347, [ + \ ])