#1891 Fix the go-langserver tests
This commit is contained in:
parent
f1d5bcbf98
commit
7086769289
@ -4,7 +4,7 @@
|
||||
call ale#Set('go_langserver_executable', 'go-langserver')
|
||||
call ale#Set('go_langserver_options', '')
|
||||
|
||||
function! ale_linters#go#golangserver#GetCommand(buffer) abort
|
||||
function! ale_linters#go#langserver#GetCommand(buffer) abort
|
||||
let l:executable = [ale#Escape(ale#Var(a:buffer, 'go_langserver_executable'))]
|
||||
let l:options = ale#Var(a:buffer, 'go_langserver_options')
|
||||
let l:options = substitute(l:options, '-gocodecompletion', '', 'g')
|
||||
@ -23,6 +23,6 @@ call ale#linter#Define('go', {
|
||||
\ 'name': 'golangserver',
|
||||
\ 'lsp': 'stdio',
|
||||
\ 'executable_callback': ale#VarFunc('go_langserver_executable'),
|
||||
\ 'command_callback': 'ale_linters#go#golangserver#GetCommand',
|
||||
\ 'command_callback': 'ale_linters#go#langserver#GetCommand',
|
||||
\ 'project_root_callback': 'ale#go#FindProjectRoot',
|
||||
\})
|
@ -1,13 +1,21 @@
|
||||
Before:
|
||||
Save $GOPATH
|
||||
call ale#assert#SetUpLinterTest('go', 'golangserver')
|
||||
let sep = has('win32') ? ';' : ':'
|
||||
let $GOPATH=ale#path#Simplify(g:dir . '/go_paths/go1')
|
||||
\ . sep
|
||||
\ . ale#path#Simplify(g:dir . '/go_paths/go2')
|
||||
Save g:ale_completion_enabled
|
||||
|
||||
let g:ale_completion_enabled = 0
|
||||
let g:sep = has('win32') ? ';' : ':'
|
||||
|
||||
call ale#assert#SetUpLinterTest('go', 'langserver')
|
||||
let $GOPATH = ale#path#Simplify(g:dir . '/go_paths/go1')
|
||||
\ . g:sep
|
||||
\ . ale#path#Simplify(g:dir . '/go_paths/go2')
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
||||
unlet! b:ale_completion_enabled
|
||||
unlet! g:sep
|
||||
|
||||
call ale#assert#TearDownLinterTest()
|
||||
|
||||
Execute(should set correct defaults):
|
||||
@ -15,36 +23,45 @@ Execute(should set correct defaults):
|
||||
|
||||
Execute(should configure go-langserver callback executable):
|
||||
let b:ale_go_langserver_executable = 'boo'
|
||||
|
||||
AssertLinter 'boo', ale#Escape('boo')
|
||||
unlet b:ale_go_langserver_executable
|
||||
|
||||
Execute(should set go-langserver options):
|
||||
call ale#test#SetFilename('go_paths/go1/prj1/file.go')
|
||||
let b:ale_completion_enabled = 1
|
||||
let b:ale_go_langserver_options = ''
|
||||
AssertEqual ale_linters#go#golangserver#GetCommand(bufnr('%')), ale#Escape('go-langserver') . ' -gocodecompletion'
|
||||
|
||||
AssertLinter 'go-langserver',
|
||||
\ ale#Escape('go-langserver') . ' -gocodecompletion'
|
||||
|
||||
let b:ale_go_langserver_options = '-trace'
|
||||
AssertEqual ale_linters#go#golangserver#GetCommand(bufnr('%')), ale#Escape('go-langserver') . ' -gocodecompletion -trace'
|
||||
|
||||
AssertLinter 'go-langserver',
|
||||
\ ale#Escape('go-langserver') . ' -gocodecompletion -trace'
|
||||
|
||||
Execute(should ignore go-langserver -gocodecompletion option):
|
||||
call ale#test#SetFilename('go_paths/go1/prj1/file.go')
|
||||
|
||||
let b:ale_go_langserver_options = '-trace -gocodecompletion'
|
||||
let b:ale_completion_enabled = 1
|
||||
AssertEqual ale_linters#go#golangserver#GetCommand(bufnr('%')), ale#Escape('go-langserver') . ' -gocodecompletion -trace'
|
||||
|
||||
AssertLinter 'go-langserver',
|
||||
\ ale#Escape('go-langserver') . ' -gocodecompletion -trace'
|
||||
|
||||
let b:ale_completion_enabled = 0
|
||||
AssertEqual ale_linters#go#golangserver#GetCommand(bufnr('%')), ale#Escape('go-langserver') . ' -trace'
|
||||
|
||||
AssertLinter 'go-langserver', ale#Escape('go-langserver') . ' -trace'
|
||||
|
||||
Execute(should set go-langserver for go app1):
|
||||
call ale#test#SetFilename('go_paths/go1/prj1/file.go')
|
||||
|
||||
AssertLSPLanguage 'go'
|
||||
AssertLSPOptions {}
|
||||
AssertLSPProject ale#path#Simplify(g:dir . '/go_paths/go1')
|
||||
|
||||
Execute(should set go-langserver for go app2):
|
||||
call ale#test#SetFilename('go_paths/go2/prj1/file.go')
|
||||
|
||||
AssertLSPLanguage 'go'
|
||||
AssertLSPOptions {}
|
||||
AssertLSPProject ale#path#Simplify(g:dir . '/go_paths/go2')
|
||||
|
Loading…
x
Reference in New Issue
Block a user