diff --git a/test/sign/test_linting_sets_signs.vader b/test/sign/test_linting_sets_signs.vader index e96e490..0654be4 100644 --- a/test/sign/test_linting_sets_signs.vader +++ b/test/sign/test_linting_sets_signs.vader @@ -1,39 +1,52 @@ -Given javascript (Some JavaScript with problems): +Given foobar (Some imaginary filetype): var y = 3+3; var y = 3 Before: sign unplace * - let g:actual_sign_list = [] - let g:expected_sign_list = [ - \ ['1', 'ALEWarningSign'], - \ ['2', 'ALEErrorSign'], - \] - function! g:CollectSigns() + function! TestCallback(buffer, output) + return [ + \ {'lnum': 1, 'text': 'foo', 'type': 'W'}, + \ {'lnum': 2, 'text': 'foo', 'type': 'E'}, + \] + endfunction + + function! CollectSigns() redir => l:output silent exec 'sign place' redir END + let l:actual_sign_list = [] + for l:line in split(l:output, "\n") let l:match = matchlist(l:line, 'line=\(\d\+\).*name=\(ALE[a-zA-Z]\+\)') if len(l:match) > 0 - call add(g:actual_sign_list, [l:match[1], l:match[2]]) + call add(l:actual_sign_list, [l:match[1], l:match[2]]) endif endfor + + return l:actual_sign_list endfunction + call ale#linter#Define('foobar', { + \ 'name': 'testlinter', + \ 'callback': 'TestCallback', + \ 'executable': 'echo', + \ 'command': 'echo foo bar', + \}) + + After: + delfunction TestCallback + delfunction CollectSigns + sign unplace * let g:ale_buffer_info = {} - delfunction g:CollectSigns - unlet g:actual_sign_list - unlet g:expected_sign_list Execute(The signs should be updated after linting is done): call ale#Lint() call ale#engine#WaitForJobs(2000) - call g:CollectSigns() - AssertEqual g:expected_sign_list, g:actual_sign_list + AssertEqual [['1', 'ALEWarningSign'], ['2', 'ALEErrorSign']], CollectSigns() diff --git a/test/sign/test_sign_placement.vader b/test/sign/test_sign_placement.vader index dbec27e..3278fc0 100644 --- a/test/sign/test_sign_placement.vader +++ b/test/sign/test_sign_placement.vader @@ -43,7 +43,7 @@ After: delfunction GenerateResults unlet! g:output -Given testft(A Javscript file with warnings/errors): +Given testft(A file with warnings/errors): foo bar baz