ale/test/command_callback/test_tslint_command_callback.vader
2018-03-18 16:48:28 +00:00

52 lines
1.7 KiB
Plaintext

Before:
Save g:ale_typescript_tslint_executable
Save g:ale_typescript_tslint_config_path
Save g:ale_typescript_tslint_rules_dir
Save g:ale_typescript_tslint_use_global
unlet! g:ale_typescript_tslint_executable
unlet! g:ale_typescript_tslint_config_path
unlet! g:ale_typescript_tslint_rules_dir
unlet! g:ale_typescript_tslint_use_global
runtime ale_linters/typescript/tslint.vim
call ale#test#SetDirectory('/testplugin/test/command_callback')
call ale#test#SetFilename('test.ts')
After:
Restore
unlet! b:ale_typescript_tslint_executable
unlet! b:ale_typescript_tslint_config_path
unlet! b:ale_typescript_tslint_rules_dir
unlet! b:ale_typescript_tslint_use_global
call ale#test#RestoreDirectory()
call ale#linter#Reset()
Execute(The default tslint command should be correct):
AssertEqual
\ 'cd ' . ale#Escape(expand('%:p:h')) . ' && '
\ . ale#Escape('tslint') . ' --format json %t',
\ ale_linters#typescript#tslint#GetCommand(bufnr(''))
Execute(The rules directory option should be included if set):
let b:ale_typescript_tslint_rules_dir = '/foo/bar'
AssertEqual
\ 'cd ' . ale#Escape(expand('%:p:h')) . ' && '
\ . ale#Escape('tslint') . ' --format json'
\ . ' -r ' . ale#Escape('/foo/bar')
\ . ' %t',
\ ale_linters#typescript#tslint#GetCommand(bufnr(''))
Execute(The executable should be configurable and escaped):
let b:ale_typescript_tslint_executable = 'foo bar'
AssertEqual 'foo bar', ale_linters#typescript#tslint#GetExecutable(bufnr(''))
AssertEqual
\ 'cd ' . ale#Escape(expand('%:p:h')) . ' && '
\ . ale#Escape('foo bar') . ' --format json %t',
\ ale_linters#typescript#tslint#GetCommand(bufnr(''))