mirror of
https://github.com/dense-analysis/ale.git
synced 2026-01-19 01:22:57 +08:00
Cover the Rust LSP with tests, allow LSP linters to be named anything, and rename the Rust LSP linter to rls
This commit is contained in:
0
test/command_callback/rust-rls-project/Cargo.toml
Normal file
0
test/command_callback/rust-rls-project/Cargo.toml
Normal file
32
test/command_callback/test_rust_rls_callbacks.vader
Normal file
32
test/command_callback/test_rust_rls_callbacks.vader
Normal file
@@ -0,0 +1,32 @@
|
||||
Before:
|
||||
Save g:ale_rust_rls_executable
|
||||
|
||||
unlet! g:ale_rust_rls_executable
|
||||
|
||||
runtime ale_linters/rust/rls.vim
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/command_callback')
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
||||
call ale#test#RestoreDirectory()
|
||||
call ale#linter#Reset()
|
||||
|
||||
Execute(The default executable path should be correct):
|
||||
AssertEqual 'rls', ale_linters#rust#rls#GetExecutable(bufnr(''))
|
||||
AssertEqual
|
||||
\ ale#Escape('rls') . ' +nightly',
|
||||
\ ale_linters#rust#rls#GetCommand(bufnr(''))
|
||||
|
||||
Execute(The language string should be correct):
|
||||
AssertEqual 'rust', ale_linters#rust#rls#GetLanguage(bufnr(''))
|
||||
|
||||
Execute(The project root should be detected correctly):
|
||||
AssertEqual '', ale_linters#rust#rls#GetProjectRoot(bufnr(''))
|
||||
|
||||
call ale#test#SetFilename('rust-rls-project/test.rs')
|
||||
|
||||
AssertEqual
|
||||
\ g:dir . '/rust-rls-project',
|
||||
\ ale_linters#rust#rls#GetProjectRoot(bufnr(''))
|
||||
@@ -15,7 +15,7 @@ Execute(tsserver syntax error responses should be handled correctly):
|
||||
|
||||
" When we get syntax errors and no semantic errors, we should keep the
|
||||
" syntax errors.
|
||||
call ale#engine#HandleLSPResponse({
|
||||
call ale#engine#HandleLSPResponse(1, {
|
||||
\ 'seq': 0,
|
||||
\ 'type': 'event',
|
||||
\ 'event': 'syntaxDiag',
|
||||
@@ -37,7 +37,7 @@ Execute(tsserver syntax error responses should be handled correctly):
|
||||
\ ],
|
||||
\ },
|
||||
\})
|
||||
call ale#engine#HandleLSPResponse({
|
||||
call ale#engine#HandleLSPResponse(1, {
|
||||
\ 'seq': 0,
|
||||
\ 'type': 'event',
|
||||
\ 'event': 'semanticDiag',
|
||||
@@ -65,7 +65,7 @@ Execute(tsserver syntax error responses should be handled correctly):
|
||||
\ getloclist(0)
|
||||
|
||||
" After we get empty syntax errors, we should clear them.
|
||||
call ale#engine#HandleLSPResponse({
|
||||
call ale#engine#HandleLSPResponse(1, {
|
||||
\ 'seq': 0,
|
||||
\ 'type': 'event',
|
||||
\ 'event': 'syntaxDiag',
|
||||
@@ -88,7 +88,7 @@ Execute(tsserver semantic error responses should be handled correctly):
|
||||
|
||||
" When we get syntax errors and no semantic errors, we should keep the
|
||||
" syntax errors.
|
||||
call ale#engine#HandleLSPResponse({
|
||||
call ale#engine#HandleLSPResponse(1, {
|
||||
\ 'seq': 0,
|
||||
\ 'type': 'event',
|
||||
\ 'event': 'syntaxDiag',
|
||||
@@ -98,7 +98,7 @@ Execute(tsserver semantic error responses should be handled correctly):
|
||||
\ ],
|
||||
\ },
|
||||
\})
|
||||
call ale#engine#HandleLSPResponse({
|
||||
call ale#engine#HandleLSPResponse(1, {
|
||||
\ 'seq': 0,
|
||||
\ 'type': 'event',
|
||||
\ 'event': 'semanticDiag',
|
||||
@@ -138,7 +138,7 @@ Execute(tsserver semantic error responses should be handled correctly):
|
||||
\ getloclist(0)
|
||||
|
||||
" After we get empty syntax errors, we should clear them.
|
||||
call ale#engine#HandleLSPResponse({
|
||||
call ale#engine#HandleLSPResponse(1, {
|
||||
\ 'seq': 0,
|
||||
\ 'type': 'event',
|
||||
\ 'event': 'semanticDiag',
|
||||
|
||||
Reference in New Issue
Block a user