#1206 Add support for setting options for gobuild, and escape paths better
This commit is contained in:
parent
0f822b063c
commit
33b3331b04
4 changed files with 82 additions and 4 deletions
52
test/command_callback/test_gobuild_command_callback.vader
Normal file
52
test/command_callback/test_gobuild_command_callback.vader
Normal file
|
@ -0,0 +1,52 @@
|
|||
Before:
|
||||
Save g:ale_go_gobuild_options
|
||||
|
||||
unlet! g:ale_go_gobuild_options
|
||||
|
||||
let g:env_prefix = has('win32')
|
||||
\ ? 'set GOPATH=' . ale#Escape('/foo/bar') . ' && '
|
||||
\ : 'GOPATH=' . ale#Escape('/foo/bar') . ' '
|
||||
|
||||
runtime ale_linters/go/gobuild.vim
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/command_callback')
|
||||
|
||||
call ale_linters#go#gobuild#ResetEnv()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
||||
unlet! g:env_prefix
|
||||
|
||||
call ale#linter#Reset()
|
||||
call ale#test#RestoreDirectory()
|
||||
|
||||
Execute(The default gobuild command should be correct):
|
||||
AssertEqual
|
||||
\ ale_linters#go#gobuild#GetCommand(bufnr(''), ['/foo/bar', '/foo/baz']),
|
||||
\ g:env_prefix . 'cd ' . ale#Escape(expand('%:p:h')) . ' && '
|
||||
\ . 'go test -c -o /dev/null ./'
|
||||
|
||||
Execute(The command for getting GOPATH should be correct):
|
||||
AssertEqual ale_linters#go#gobuild#GoEnv(bufnr('')), 'go env GOPATH GOROOT'
|
||||
|
||||
call ale_linters#go#gobuild#GetCommand(bufnr(''), ['/foo/bar', '/foo/baz'])
|
||||
|
||||
" We shouldn't run `go env` many times after we've got it.
|
||||
AssertEqual ale_linters#go#gobuild#GoEnv(bufnr('')), ''
|
||||
|
||||
Execute(The GOPATH output should be used after it has been read once):
|
||||
call ale_linters#go#gobuild#GetCommand(bufnr(''), ['/foo/bar', '/foo/baz'])
|
||||
|
||||
AssertEqual
|
||||
\ ale_linters#go#gobuild#GetCommand(bufnr(''), []),
|
||||
\ g:env_prefix . 'cd ' . ale#Escape(expand('%:p:h')) . ' && '
|
||||
\ . 'go test -c -o /dev/null ./'
|
||||
|
||||
Execute(Extra options should be supported):
|
||||
let g:ale_go_gobuild_options = '--foo-bar'
|
||||
|
||||
AssertEqual
|
||||
\ ale_linters#go#gobuild#GetCommand(bufnr(''), ['/foo/bar', '/foo/baz']),
|
||||
\ g:env_prefix . 'cd ' . ale#Escape(expand('%:p:h')) . ' && '
|
||||
\ . 'go test --foo-bar -c -o /dev/null ./'
|
Loading…
Add table
Add a link
Reference in a new issue