install.fairie/dotfiles/.vim/plugged/ale/test/linter/test_hdl_checker_options.vader
Git E2E Dev Test Username e149692cc9 git subrepo clone https://github.com/dense-analysis/ale.git ./dotfiles/.vim/plugged/ale
subrepo:
  subdir:   "dotfiles/.vim/plugged/ale"
  merged:   "e4b205440"
upstream:
  origin:   "https://github.com/dense-analysis/ale.git"
  branch:   "master"
  commit:   "e4b205440"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"
2022-10-18 10:37:09 -04:00

86 lines
2.6 KiB
Text

Before:
call ale#assert#SetUpLinterTest('vhdl', 'hdl_checker')
Save g:ale_hdl_checker_executable
Save g:ale_hdl_checker_config_file
Save g:ale_hdl_checker_options
let g:default_config_file = has('unix') ? '.hdl_checker.config' : '_hdl_checker.config'
runtime autoload/ale/handlers/hdl_checker.vim
After:
Restore
call ale#assert#TearDownLinterTest()
unlet! g:default_config_file
unlet! g:call_count
runtime autoload/ale/handlers/hdl_checker.vim
Execute(Get default initialization dict):
AssertEqual
\ {'project_file': g:default_config_file},
\ ale#handlers#hdl_checker#GetInitOptions(bufnr(''))
Execute(Get custom initialization dict):
let g:ale_hdl_checker_config_file = 'some_file_name'
AssertEqual
\ {'project_file': 'some_file_name'},
\ ale#handlers#hdl_checker#GetInitOptions(bufnr(''))
Execute(Get the checker command without extra user parameters):
AssertEqual
\ ale#Escape('hdl_checker') . ' --lsp',
\ ale#handlers#hdl_checker#GetCommand(bufnr(''))
Execute(Get the checker command with user configured parameters):
let g:ale_hdl_checker_options = '--log-level DEBUG'
AssertEqual
\ ale#Escape('hdl_checker') . ' --lsp --log-level DEBUG',
\ ale#handlers#hdl_checker#GetCommand(bufnr(''))
Execute(Customize executable):
let g:ale_hdl_checker_executable = '/some/other/path'
AssertEqual
\ ale#Escape('/some/other/path') . ' --lsp',
\ ale#handlers#hdl_checker#GetCommand(bufnr(''))
Execute(Get project root based on .git):
call ale#test#SetFilename('../test-files/hdl_server/with_git/files/foo.vhd')
" Create .git file
silent! call mkdir(g:dir . '/../test-files/hdl_server/with_git/.git')
AssertNotEqual '', glob(g:dir . '/../test-files/hdl_server/with_git/.git')
AssertEqual
\ ale#path#Simplify(g:dir . '/../test-files/hdl_server/with_git'),
\ ale#handlers#hdl_checker#GetProjectRoot(bufnr(''))
Execute(Get project root based on config file):
call ale#test#SetFilename('../test-files/hdl_server/with_config_file/foo.vhd')
AssertEqual
\ ale#path#Simplify(g:dir . '/../test-files/hdl_server/with_config_file'),
\ ale#handlers#hdl_checker#GetProjectRoot(bufnr(''))
Execute(Return no project root if neither .git or config file are found):
let g:call_count = 0
" Mock this command to avoid the test to find ale's own .git folder
function! ale#handlers#hdl_checker#IsDotGit(path) abort
let g:call_count += 1
return 0
endfunction
call ale#test#SetFilename('../test-files/hdl_server/foo.vhd')
AssertEqual
\ '',
\ ale#handlers#hdl_checker#GetProjectRoot(bufnr(''))
AssertEqual g:call_count, 1
unlet! g:call_count