ale/test/linter/test_terraform_ls.vader

62 lines
1.8 KiB
Plaintext

Before:
call ale#assert#SetUpLinterTest('terraform', 'terraform_ls')
After:
if isdirectory(g:dir . '/.terraform')
call delete(g:dir . '/.terraform', 'd')
endif
unlet! b:ale_terraform_terraform_executable
unlet! b:ale_terraform_ls_executable
unlet! b:ale_terraform_ls_options
call ale#assert#TearDownLinterTest()
Execute(Should send correct LSP language):
AssertLSPLanguage 'terraform'
Execute(Should load default executable):
AssertLinter 'terraform-ls',
\ ale#Escape('terraform-ls') . ' serve'
Execute(Should configure custom executable):
let b:ale_terraform_ls_executable = 'foo'
AssertLinter 'foo',
\ ale#Escape('foo') . ' serve'
Execute(Should ignore non-absolute custom terraform executable):
let b:ale_terraform_terraform_executable = 'terraform'
AssertLinter 'terraform-ls',
\ ale#Escape('terraform-ls') . ' serve'
Execute(Should set absolute custom terraform executable):
let b:ale_terraform_terraform_executable = '/bin/terraform'
AssertLinter 'terraform-ls',
\ ale#Escape('terraform-ls') . ' serve -tf-exec /bin/terraform'
Execute(Should set custom options):
let b:ale_terraform_ls_options = '--bar'
AssertLinter 'terraform-ls',
\ ale#Escape('terraform-ls') . ' serve --bar'
Execute(Should return current directory if it contains .terraform directory):
call mkdir(g:dir . '/.terraform')
AssertLSPProject g:dir
Execute(Should return nearest directory with .terraform if found in parent directory):
call ale#test#SetFilename('../test-files/terraform/main.tf')
let b:parent_dir = ale#path#Simplify(g:dir . '/..')
let b:tf_dir = b:parent_dir . '/.terraform'
if !isdirectory(b:tf_dir)
call mkdir(b:tf_dir)
endif
AssertLSPProject b:parent_dir
call delete(b:tf_dir, 'd')
unlet!b:parent_dir
unlet!b:tf_dir