view src/testdir/test_system.vim @ 10522:7232cd9f8a7c v8.0.0151

commit https://github.com/vim/vim/commit/12c4492dd35e0cd83c8816be2ec849b836109882 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jan 8 13:26:03 2017 +0100 patch 8.0.0151: passing buffer content to system() is clumsy Problem: To pass buffer content to system() and systemlist() one has to first create a string or list. Solution: Allow passing a buffer number. (LemonBoy, closes #1240)
author Christian Brabandt <cb@256bit.org>
date Sun, 08 Jan 2017 13:30:04 +0100
parents
children 06724e21d8c1
line wrap: on
line source

" Tests for system() and systemlist()

function! Test_System()
  if !executable('echo') || !executable('cat') || !executable('wc')
    return
  endif
  call assert_equal("123\n", system('echo 123'))
  call assert_equal(['123'], systemlist('echo 123'))
  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"]))
  new Xdummy
  call setline(1, ['asdf', "pw\<NL>er", 'xxxx'])
  call assert_equal("3\n",  system('wc -l', bufnr('%')))
  call assert_equal(['3'],  systemlist('wc -l', bufnr('%')))
  call assert_equal(['asdf', "pw\<NL>er", 'xxxx'],  systemlist('cat', bufnr('%')))
  bwipe!

  call assert_fails('call system("wc -l", 99999)', 'E86:')
endfunction