view src/testdir/test_fileformat.vim @ 10668:6a252c6afd5b v8.0.0224

patch 8.0.0224: change to 'fileformats' from autocmd does not take effect commit https://github.com/vim/vim/commit/7a2699e868bca781e26b060a44fc714d87cfa4ba Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jan 23 21:31:09 2017 +0100 patch 8.0.0224: change to 'fileformats' from autocmd does not take effect Problem: When 'fileformats' is changed in a BufReadPre auto command, it does not take effect in readfile(). (Gary Johnson) Solution: Check the value of 'fileformats' after executing auto commands. (Christian Brabandt)
author Christian Brabandt <cb@256bit.org>
date Mon, 23 Jan 2017 21:45:04 +0100
parents c55a7232fb48
children 0a6c66a06fdb
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', 'eins', '', 'zwei', '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
	let &ffs=ffs
	au! BufReadPre Xfile
	bw!
endfunc