mirror of
https://github.com/dense-analysis/ale
synced 2025-01-30 20:13:44 +00:00
bf55175b69
Combine cases into smaller tests of tests and remove tests we no longer need. Linter tests have been moved to where they should be.
44 lines
1.2 KiB
Plaintext
44 lines
1.2 KiB
Plaintext
Before:
|
|
Save g:ale_command_wrapper
|
|
|
|
let g:ale_command_wrapper = ''
|
|
|
|
function! TestCommand(expected_part, input) abort
|
|
let l:expected = has('win32')
|
|
\ ? 'cmd /s/c "' . a:expected_part . '"'
|
|
\ : split(&shell) + split(&shellcmdflag) + [a:expected_part]
|
|
|
|
AssertEqual l:expected, ale#job#PrepareCommand(bufnr(''), a:input)
|
|
endfunction
|
|
|
|
After:
|
|
Restore
|
|
|
|
unlet! b:ale_command_wrapper
|
|
|
|
delfunction TestCommand
|
|
|
|
Execute(The command wrapper should work with a nice command):
|
|
let b:ale_command_wrapper = 'nice -n 5'
|
|
|
|
call TestCommand('nice -n 5 foo bar', 'foo bar')
|
|
|
|
Execute(The command wrapper should spread arguments correctly):
|
|
let b:ale_command_wrapper = 'wrap %* --'
|
|
|
|
call TestCommand('wrap foo bar --', 'foo bar')
|
|
|
|
Execute(Wrappers with the command as one argument should be supported):
|
|
let b:ale_command_wrapper = 'wrap -c %@ -x'
|
|
|
|
call TestCommand('wrap -c ' . ale#Escape('foo bar') . ' -x', 'foo bar')
|
|
|
|
Execute(&& and ; should be moved to the front):
|
|
let b:ale_command_wrapper = 'wrap -c %@ -x'
|
|
|
|
call TestCommand('foo && bar; wrap -c ' . ale#Escape('baz') . ' -x', 'foo && bar;baz')
|
|
|
|
let b:ale_command_wrapper = 'nice -n 5'
|
|
|
|
call TestCommand('foo && bar; nice -n 5 baz -z', 'foo && bar;baz -z')
|