From a9333c2866ad604ef5b8523af7fb1fce10057833 Mon Sep 17 00:00:00 2001 From: Horacio Sanson Date: Thu, 30 Aug 2018 11:39:03 +0900 Subject: Fix #1822 - support go-langserver lsp. --- test/command_callback/go_paths/go1/prj1/file.go | 0 test/command_callback/go_paths/go2/prj2/file.go | 0 .../test_golangserver_command_callback.vader | 50 ++++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 test/command_callback/go_paths/go1/prj1/file.go create mode 100644 test/command_callback/go_paths/go2/prj2/file.go create mode 100644 test/command_callback/test_golangserver_command_callback.vader (limited to 'test') diff --git a/test/command_callback/go_paths/go1/prj1/file.go b/test/command_callback/go_paths/go1/prj1/file.go new file mode 100644 index 00000000..e69de29b diff --git a/test/command_callback/go_paths/go2/prj2/file.go b/test/command_callback/go_paths/go2/prj2/file.go new file mode 100644 index 00000000..e69de29b diff --git a/test/command_callback/test_golangserver_command_callback.vader b/test/command_callback/test_golangserver_command_callback.vader new file mode 100644 index 00000000..a5893cee --- /dev/null +++ b/test/command_callback/test_golangserver_command_callback.vader @@ -0,0 +1,50 @@ +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') + +After: + Restore + call ale#assert#TearDownLinterTest() + +Execute(should set correct defaults): + AssertLinter 'go-langserver', ale#Escape('go-langserver') + +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' + + let b:ale_go_langserver_options = '-trace' + AssertEqual ale_linters#go#golangserver#GetCommand(bufnr('%')), 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' + + let b:ale_completion_enabled = 0 + AssertEqual ale_linters#go#golangserver#GetCommand(bufnr('%')), 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') -- cgit v1.2.3