diff --git a/test/test_sign_placement.vader b/test/test_sign_placement.vader new file mode 100644 index 0000000..dbec27e --- /dev/null +++ b/test/test_sign_placement.vader @@ -0,0 +1,68 @@ +Before: + function! GenerateResults(buffer, output) + return [ + \ { + \ 'lnum': 1, + \ 'col': 1, + \ 'bufnr': bufnr('%'), + \ 'vcol': 0, + \ 'nr': -1, + \ 'type': 'E', + \ 'text': 'foo', + \ }, + \ { + \ 'lnum': 2, + \ 'col': 1, + \ 'bufnr': bufnr('%'), + \ 'vcol': 0, + \ 'nr': -1, + \ 'type': 'W', + \ 'text': 'bar', + \ }, + \ { + \ 'lnum': 3, + \ 'col': 1, + \ 'bufnr': bufnr('%'), + \ 'vcol': 0, + \ 'nr': -1, + \ 'type': 'E', + \ 'text': 'baz', + \ }, + \] + endfunction + + call ale#linter#Define('testft', { + \ 'name': 'x', + \ 'executable': 'echo', + \ 'command': 'echo', + \ 'callback': 'GenerateResults', + \}) + +After: + call ale#linter#Reset() + delfunction GenerateResults + unlet! g:output + +Given testft(A Javscript file with warnings/errors): + foo + bar + baz + +Execute: + call ale#Lint() + call ale#engine#WaitForJobs(2000) + + redir => g:output + :sign place + redir END + + AssertEqual + \ [ + \ ['1', '1000001', 'ALEErrorSign'], + \ ['2', '1000002', 'ALEWarningSign'], + \ ['3', '1000003', 'ALEErrorSign'], + \ ], + \ map( + \ split(g:output, '\n')[2:], + \ 'matchlist(v:val, "[^=]*=\\(\\d\\+\\)[^=]*=\\(\\d\\+\\).*\\(ALE.*\\)$")[1:3]' + \ )