Test for a lot of variations of the 'fileformats' option STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^1/w! XX1:/^2/w! XX2:/^3/w! XX3:/^4/w! XX4:/^5/w! XX5:/^6/w! XX6:/^7/w! XX7:/^8/w! XX8:/^9/w! XX9:/^10/w! XX10:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMac:set nobin eol:bwipe XXUnix XXDos XXMac:" create mixed format files:!cat XXUnix XXDos >XXUxDs:!cat XXUnix XXMac >XXUxMac:!cat XXDos XXMac >XXDosMac:!cat XXUnix XXDos XXMac >XXUxDsMc:":" try reading and writing with 'fileformats' empty:set fileformat=unix:e! XXUnix:w! test.out:e! XXDos:w! XXtt01:e! XXMac:w! XXtt02:bwipe XXUnix XXDos XXMac:set fileformat=dos:e! XXUnix:w! XXtt11:e! XXDos:w! XXtt12:e! XXMac:w! XXtt13:bwipe XXUnix XXDos XXMac:set fileformat=mac:e! XXUnix:w! XXtt21:e! XXDos:w! XXtt22:e! XXMac:w! XXtt23:bwipe XXUnix XXDos XXMac:":" try reading and writing with 'fileformats' set to one format:set fileformats=unix:e! XXUxDsMc:w! XXtt31:bwipe XXUxDsMc:set fileformats=dos:e! XXUxDsMc:w! XXtt32:bwipe XXUxDsMc:set fileformats=mac:e! XXUxDsMc:w! XXtt33:bwipe XXUxDsMc:":" try reading and writing with 'fileformats' set to two formats:set fileformats=unix,dos:e! XXUxDsMc:w! XXtt41:bwipe XXUxDsMc:e! XXUxMac:w! XXtt42:bwipe XXUxMac:e! XXDosMac:w! XXtt43:bwipe XXDosMac:set fileformats=unix,mac:e! XXUxDs:w! XXtt51:bwipe XXUxDs:e! XXUxDsMc:w! XXtt52:bwipe XXUxDsMc:e! XXDosMac:w! XXtt53:bwipe XXDosMac:set fileformats=dos,mac:e! XXUxDs:w! XXtt61:bwipe XXUxDs:e! XXUxMac:w! XXtt62:bwipe XXUxMac:e! XXUxDsMc:w! XXtt63:bwipe XXUxDsMc:":" try reading and writing with 'fileformats' set to three formats:set fileformats=unix,dos,mac:e! XXUxDsMc:w! XXtt71:bwipe XXUxDsMc:set fileformats=mac,dos,unix:e! XXUxDsMc:w! XXtt81:bwipe XXUxDsMc:" try with 'binary' set:set fileformats=mac,unix,dos:set binary:e! XXUxDsMc:w! XXtt91:bwipe XXUxDsMc:set fileformats=mac:e! XXUxDsMc:w! XXtt92:bwipe XXUxDsMc:set fileformats=dos:e! XXUxDsMc:w! XXtt93:":" Append "END" to each file so that we can see what the last written char was.:set fileformat=unix nobinggdGaEND:w >>XXtt01:w >>XXtt02:w >>XXtt11:w >>XXtt12:w >>XXtt13:w >>XXtt21:w >>XXtt22:w >>XXtt23:w >>XXtt31:w >>XXtt32:w >>XXtt33:w >>XXtt41:w >>XXtt42:w >>XXtt43:w >>XXtt51:w >>XXtt52:w >>XXtt53:w >>XXtt61:w >>XXtt62:w >>XXtt63:w >>XXtt71:w >>XXtt81:w >>XXtt91:w >>XXtt92:w >>XXtt93:":" Concatenate the results.:" Make fileformat of test.out the native fileformat.:" Add a newline at the end.:set binary:e! test.out:$r XXtt01:$r XXtt02Go1:$r XXtt11:$r XXtt12:$r XXtt13Go2:$r XXtt21:$r XXtt22:$r XXtt23Go3:$r XXtt31:$r XXtt32:$r XXtt33Go4:$r XXtt41:$r XXtt42:$r XXtt43Go5:$r XXtt51:$r XXtt52:$r XXtt53Go6:$r XXtt61:$r XXtt62:$r XXtt63Go7:$r XXtt71Go8:$r XXtt81Go9:$r XXtt91:$r XXtt92:$r XXtt93Go10:$r XXUnix:set nobinary ff&:w:qa!ENDTEST 12345678910 unixunixeof dos
dos
eof mac
mac
Test for a lot of variations of the 'fileformats' option
STARTTEST
:so small.vim
:" first write three test files, one in each format
:set fileformat=unix
:set fileformats=
:/^1/w! XX1
:/^2/w! XX2
:/^3/w! XX3
:/^4/w! XX4
:/^5/w! XX5
:/^6/w! XX6
:/^7/w! XX7
:/^8/w! XX8
:/^9/w! XX9
:/^10/w! XX10
:/^unix/;/eof/-1w! XXUnix
:/^dos/;/eof/-1w! XXDos
:set bin noeol
:$w! XXMac
:set nobin eol
:bwipe XXUnix XXDos XXMac
:" create mixed format files
:!cat XXUnix XXDos >XXUxDs
:!cat XXUnix XXMac >XXUxMac
:!cat XXDos XXMac >XXDosMac
:!cat XXUnix XXDos XXMac >XXUxDsMc
:"
:" try reading and writing with 'fileformats' empty
:set fileformat=unix
:e! XXUnix
:w! test.out
:e! XXDos
:w! XXtt01
:e! XXMac
:w! XXtt02
:bwipe XXUnix XXDos XXMac
:set fileformat=dos
:e! XXUnix
:w! XXtt11
:e! XXDos
:w! XXtt12
:e! XXMac
:w! XXtt13
:bwipe XXUnix XXDos XXMac
:set fileformat=mac
:e! XXUnix
:w! XXtt21
:e! XXDos
:w! XXtt22
:e! XXMac
:w! XXtt23
:bwipe XXUnix XXDos XXMac
:"
:" try reading and writing with 'fileformats' set to one format
:set fileformats=unix
:e! XXUxDsMc
:w! XXtt31
:bwipe XXUxDsMc
:set fileformats=dos
:e! XXUxDsMc
:w! XXtt32
:bwipe XXUxDsMc
:set fileformats=mac
:e! XXUxDsMc
:w! XXtt33
:bwipe XXUxDsMc
:"
:" try reading and writing with 'fileformats' set to two formats
:set fileformats=unix,dos
:e! XXUxDsMc
:w! XXtt41
:bwipe XXUxDsMc
:e! XXUxMac
:w! XXtt42
:bwipe XXUxMac
:e! XXDosMac
:w! XXtt43
:bwipe XXDosMac
:set fileformats=unix,mac
:e! XXUxDs
:w! XXtt51
:bwipe XXUxDs
:e! XXUxDsMc
:w! XXtt52
:bwipe XXUxDsMc
:e! XXDosMac
:w! XXtt53
:bwipe XXDosMac
:set fileformats=dos,mac
:e! XXUxDs
:w! XXtt61
:bwipe XXUxDs
:e! XXUxMac
:w! XXtt62
:bwipe XXUxMac
:e! XXUxDsMc
:w! XXtt63
:bwipe XXUxDsMc
:"
:" try reading and writing with 'fileformats' set to three formats
:set fileformats=unix,dos,mac
:e! XXUxDsMc
:w! XXtt71
:bwipe XXUxDsMc
:set fileformats=mac,dos,unix
:e! XXUxDsMc
:w! XXtt81
:bwipe XXUxDsMc
:" try with 'binary' set
:set fileformats=mac,unix,dos
:set binary
:e! XXUxDsMc
:w! XXtt91
:bwipe XXUxDsMc
:set fileformats=mac
:e! XXUxDsMc
:w! XXtt92
:bwipe XXUxDsMc
:set fileformats=dos
:e! XXUxDsMc
:w! XXtt93
:"
:" Append "END" to each file so that we can see what the last written char was.
:set fileformat=unix nobin
ggdGaEND:w >>XXtt01
:w >>XXtt02
:w >>XXtt11
:w >>XXtt12
:w >>XXtt13
:w >>XXtt21
:w >>XXtt22
:w >>XXtt23
:w >>XXtt31
:w >>XXtt32
:w >>XXtt33
:w >>XXtt41
:w >>XXtt42
:w >>XXtt43
:w >>XXtt51
:w >>XXtt52
:w >>XXtt53
:w >>XXtt61
:w >>XXtt62
:w >>XXtt63
:w >>XXtt71
:w >>XXtt81
:w >>XXtt91
:w >>XXtt92
:w >>XXtt93
:"
:" Concatenate the results.
:" Make fileformat of test.out the native fileformat.
:" Add a newline at the end.
:set binary
:e! test.out
:$r XXtt01
:$r XXtt02
Go1:$r XXtt11
:$r XXtt12
:$r XXtt13
Go2:$r XXtt21
:$r XXtt22
:$r XXtt23
Go3:$r XXtt31
:$r XXtt32
:$r XXtt33
Go4:$r XXtt41
:$r XXtt42
:$r XXtt43
Go5:$r XXtt51
:$r XXtt52
:$r XXtt53
Go6:$r XXtt61
:$r XXtt62
:$r XXtt63
Go7:$r XXtt71
Go8:$r XXtt81
Go9:$r XXtt91
:$r XXtt92
:$r XXtt93
Go10:$r XXUnix
:set nobinary ff&
:w
:qa!
ENDTEST
1
2
3
4
5
6
7
8
9
10
unix
unix
eof
dos
dos
eof
mac
mac