Files
ale/test/lsp/test_update_config.vader
Armand Halbert 3d3b75cdc5
Some checks failed
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--lua-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
Added support for harper in markdown files (#5104)
2026-03-28 20:22:26 +09:00

56 lines
1.9 KiB
Plaintext

Before:
runtime autoload/ale/lsp.vim
runtime autoload/ale/job.vim
let g:conn_id = ale#lsp#Register('executable', '/foo/bar', '', {})
let g:sent_data = []
" Stub out these functions to capture calls without side effects.
function! ale#lsp#Send(conn_id, message) abort
endfunction
function! ale#job#SendRaw(job_id, data) abort
call add(g:sent_data, a:data)
endfunction
After:
Restore
unlet! g:conn_id
unlet! g:conn
unlet! g:sent_data
unlet! g:remainder
unlet! g:messages
runtime autoload/ale/lsp.vim
Execute(Only send updates when the configuration dictionary changes):
AssertEqual 0, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {})
AssertEqual 1, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {'a': 1})
AssertEqual 0, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {'a': 1})
AssertEqual 1, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {})
Execute(ale#lsp#GetConnectionConfig() should return empty dict for unknown connections):
AssertEqual {}, ale#lsp#GetConnectionConfig('unknown:conn')
Execute(ale#lsp#GetConnectionConfig() should return the current connection config):
call ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {'foo': 'bar'})
AssertEqual {'foo': 'bar'}, ale#lsp#GetConnectionConfig(g:conn_id)
Execute(ale#lsp#SendResponse() should do nothing for unknown connections):
" Should not throw
call ale#lsp#SendResponse('unknown:conn', 1, [])
AssertEqual [], g:sent_data
Execute(ale#lsp#SendResponse() should send a JSON-RPC response message):
" Give the connection a job_id so s:SendMessageData routes to ale#job#SendRaw
let g:conn = ale#lsp#GetConnections()[g:conn_id]
let g:conn.job_id = 1
call ale#lsp#SendResponse(g:conn_id, 42, ['result_value'])
AssertEqual 1, len(g:sent_data)
let [g:remainder, g:messages] = ale#lsp#ReadMessageData(g:sent_data[0])
AssertEqual '', g:remainder
AssertEqual [{'jsonrpc': '2.0', 'id': 42, 'result': ['result_value']}], g:messages