call assert_equal(["as\r", "df\r"], systemlist('more', ["as\<NL>df"]))
endif
- if !executable('cat') || !executable('wc')
- return
- endif
-
- let out = 'echo 123'->system()
- " On Windows we may get a trailing space.
- if out != "123 \n"
- call assert_equal("123\n", out)
- endif
-
- let out = 'echo 123'->systemlist()
- if !has('win32')
- call assert_equal(["123"], out)
- else
- call assert_equal(["123\r"], out)
- endif
-
- if executable('cat')
- call assert_equal('123', system('cat', '123'))
- call assert_equal(['123'], systemlist('cat', '123'))
- call assert_equal(["as\<NL>df"], systemlist('cat', ["as\<NL>df"]))
- endif
-
new Xdummy
call setline(1, ['asdf', "pw\<NL>er", 'xxxx'])
- let out = system('wc -l', bufnr('%'))
- " On OS/X we get leading spaces
- let out = substitute(out, '^ *', '', '')
- call assert_equal("3\n", out)
-
- let out = systemlist('wc -l', bufnr('%'))
- " On Windows we may get a trailing CR.
- if out != ["3\r"]
+
+ if executable('wc')
+ let out = system('wc -l', bufnr('%'))
" On OS/X we get leading spaces
- if type(out) == v:t_list
- let out[0] = substitute(out[0], '^ *', '', '')
+ let out = substitute(out, '^ *', '', '')
+ call assert_equal("3\n", out)
+
+ let out = systemlist('wc -l', bufnr('%'))
+ " On Windows we may get a trailing CR.
+ if out != ["3\r"]
+ " On OS/X we get leading spaces
+ if type(out) == v:t_list
+ let out[0] = substitute(out[0], '^ *', '', '')
+ endif
+ call assert_equal(['3'], out)
endif
- call assert_equal(['3'], out)
endif
if !has('win32')
endfunc
func Test_terminal_cwd()
- if !executable('pwd')
- return
+ if has('win32')
+ let cmd = 'cmd /c cd'
+ else
+ CheckExecutable pwd
+ let cmd = 'pwd'
endif
call mkdir('Xdir')
- let buf = term_start('pwd', {'cwd': 'Xdir'})
+ let buf = term_start(cmd, {'cwd': 'Xdir'})
call WaitForAssert({-> assert_equal('Xdir', fnamemodify(getline(1), ":t"))})
exe buf . 'bwipe'
endfunc
func Test_terminal_no_job()
- let term = term_start('false', {'term_finish': 'close'})
+ if has('win32')
+ let cmd = 'cmd /c ""'
+ else
+ CheckExecutable false
+ let cmd = 'false'
+ endif
+ let term = term_start(cmd, {'term_finish': 'close'})
call WaitForAssert({-> assert_equal(v:null, term_getjob(term)) })
endfunc