53 lines
1.6 KiB
Text
53 lines
1.6 KiB
Text
|
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 ./'
|