view src/testdir/test_fileformat.vim @ 10674:d6857a8dc07e v8.0.0227

patch 8.0.0227: crash with ff=dos when first line in file has no CR commit https://github.com/vim/vim/commit/2aa5f696b91a51f29873e340de4bdc182e1e8dd4 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jan 24 15:46:48 2017 +0100 patch 8.0.0227: crash with ff=dos when first line in file has no CR Problem: Crash when 'fileformat' is forced to "dos" and the first line in the file is empty and does not have a CR character. Solution: Don't check for CR before the start of the buffer.
author Christian Brabandt <cb@256bit.org>
date Tue, 24 Jan 2017 16:00:05 +0100
parents 0a6c66a06fdb
children 140bf183f946
line wrap: on
line source

" Test behavior of fileformat after bwipeout of last buffer

func Test_fileformat_after_bw()
  bwipeout
  set fileformat&
  if &fileformat == 'dos'
    let test_fileformats = 'unix'
  elseif &fileformat == 'unix'
    let test_fileformats = 'mac'
  else  " must be mac
    let test_fileformats = 'dos'
  endif
  exec 'set fileformats='.test_fileformats
  bwipeout!
  call assert_equal(test_fileformats, &fileformat)
  set fileformats&
endfunc

func Test_fileformat_autocommand()
  let filecnt = ["", "foobar\<CR>", "eins\<CR>", "\<CR>", "zwei\<CR>", "drei", "vier", "fünf", ""]
  let ffs = &ffs
  call writefile(filecnt, 'Xfile', 'b')
  au BufReadPre Xfile set ffs=dos ff=dos
  new Xfile
  call assert_equal('dos', &l:ff)
  call assert_equal('dos', &ffs)

  " cleanup
  call delete('Xfile')
  let &ffs = ffs
  au! BufReadPre Xfile
  bw!
endfunc