ale/test/test_wrap_comand.vader
w0rp bf55175b69
#4454 Clean up root test directory tests
Combine cases into smaller tests of tests and remove tests we no longer
need. Linter tests have been moved to where they should be.
2023-09-08 01:00:35 +01:00

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')