2004-06-13 20:20:40 +00:00
|
|
|
|
Test for a lot of variations of the 'fileformats' option
|
|
|
|
|
|
|
2008-07-13 17:41:49 +00:00
|
|
|
|
Note: This test will fail if "cat" is not available.
|
|
|
|
|
|
|
2004-06-13 20:20:40 +00:00
|
|
|
|
STARTTEST
|
|
|
|
|
|
:so small.vim
|
2017-03-08 22:55:19 +01:00
|
|
|
|
:set belloff=all
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:" first write three test files, one in each format
|
|
|
|
|
|
:set fileformat=unix
|
|
|
|
|
|
:set fileformats=
|
|
|
|
|
|
:/^unix/;/eof/-1w! XXUnix
|
|
|
|
|
|
:/^dos/;/eof/-1w! XXDos
|
|
|
|
|
|
:set bin noeol
|
|
|
|
|
|
:$w! XXMac
|
2015-02-27 17:48:09 +01:00
|
|
|
|
Gonoeol
|
|
|
|
|
|
:$w! XXEol
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:set nobin eol
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:enew!
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUnix XXDos XXMac
|
|
|
|
|
|
:" create mixed format files
|
2008-09-01 14:51:37 +00:00
|
|
|
|
:if has("vms")
|
|
|
|
|
|
: !copy XXUnix,XXDos XXUxDs.
|
|
|
|
|
|
: !copy XXUnix,XXMac XXUxMac.
|
|
|
|
|
|
: !copy XXDos,XXMac XXDosMac.
|
2015-02-27 17:48:09 +01:00
|
|
|
|
: !copy XXMac,XXEol XXMacEol.
|
2008-09-01 14:51:37 +00:00
|
|
|
|
: !copy XXUnix,XXDos,XXMac XXUxDsMc.
|
2010-08-04 16:10:19 +02:00
|
|
|
|
:elseif has("win32")
|
|
|
|
|
|
: !copy /b XXUnix+XXDos XXUxDs
|
|
|
|
|
|
: !copy /b XXUnix+XXMac XXUxMac
|
|
|
|
|
|
: !copy /b XXDos+XXMac XXDosMac
|
2015-02-27 17:48:09 +01:00
|
|
|
|
: !copy /b XXMac+XXEol XXMacEol
|
2010-08-04 16:10:19 +02:00
|
|
|
|
: !copy /b XXUnix+XXDos+XXMac XXUxDsMc
|
2008-09-01 14:51:37 +00:00
|
|
|
|
:else
|
|
|
|
|
|
: !cat XXUnix XXDos >XXUxDs
|
|
|
|
|
|
: !cat XXUnix XXMac >XXUxMac
|
|
|
|
|
|
: !cat XXDos XXMac >XXDosMac
|
2015-02-27 17:48:09 +01:00
|
|
|
|
: !cat XXMac XXEol >XXMacEol
|
2008-09-01 14:51:37 +00:00
|
|
|
|
: !cat XXUnix XXDos XXMac >XXUxDsMc
|
|
|
|
|
|
:endif
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:"
|
|
|
|
|
|
:" try reading and writing with 'fileformats' empty
|
|
|
|
|
|
:set fileformat=unix
|
|
|
|
|
|
:e! XXUnix
|
|
|
|
|
|
:w! test.out
|
|
|
|
|
|
:e! XXDos
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt01
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:e! XXMac
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt02
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUnix XXDos XXMac
|
|
|
|
|
|
:set fileformat=dos
|
|
|
|
|
|
:e! XXUnix
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt11
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:e! XXDos
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt12
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:e! XXMac
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt13
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUnix XXDos XXMac
|
|
|
|
|
|
:set fileformat=mac
|
|
|
|
|
|
:e! XXUnix
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt21
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:e! XXDos
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt22
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:e! XXMac
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt23
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUnix XXDos XXMac
|
|
|
|
|
|
:"
|
|
|
|
|
|
:" try reading and writing with 'fileformats' set to one format
|
|
|
|
|
|
:set fileformats=unix
|
|
|
|
|
|
:e! XXUxDsMc
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt31
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxDsMc
|
|
|
|
|
|
:set fileformats=dos
|
|
|
|
|
|
:e! XXUxDsMc
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt32
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxDsMc
|
|
|
|
|
|
:set fileformats=mac
|
|
|
|
|
|
:e! XXUxDsMc
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt33
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxDsMc
|
|
|
|
|
|
:"
|
|
|
|
|
|
:" try reading and writing with 'fileformats' set to two formats
|
|
|
|
|
|
:set fileformats=unix,dos
|
|
|
|
|
|
:e! XXUxDsMc
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt41
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxDsMc
|
|
|
|
|
|
:e! XXUxMac
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt42
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxMac
|
|
|
|
|
|
:e! XXDosMac
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt43
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXDosMac
|
|
|
|
|
|
:set fileformats=unix,mac
|
|
|
|
|
|
:e! XXUxDs
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt51
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxDs
|
|
|
|
|
|
:e! XXUxDsMc
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt52
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxDsMc
|
|
|
|
|
|
:e! XXDosMac
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt53
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXDosMac
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:e! XXEol
|
|
|
|
|
|
ggO=&ffs
|
|
|
|
|
|
:=&ff
|
|
|
|
|
|
:w! XXtt54
|
|
|
|
|
|
:bwipe XXEol
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:set fileformats=dos,mac
|
|
|
|
|
|
:e! XXUxDs
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt61
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxDs
|
|
|
|
|
|
:e! XXUxMac
|
2015-02-27 17:48:09 +01:00
|
|
|
|
ggO=&ffs
|
|
|
|
|
|
:=&ff
|
|
|
|
|
|
:w! XXtt62
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxMac
|
|
|
|
|
|
:e! XXUxDsMc
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt63
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxDsMc
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:e! XXMacEol
|
|
|
|
|
|
ggO=&ffs
|
|
|
|
|
|
:=&ff
|
|
|
|
|
|
:w! XXtt64
|
|
|
|
|
|
:bwipe XXMacEol
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:"
|
|
|
|
|
|
:" try reading and writing with 'fileformats' set to three formats
|
|
|
|
|
|
:set fileformats=unix,dos,mac
|
|
|
|
|
|
:e! XXUxDsMc
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt71
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxDsMc
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:e! XXEol
|
|
|
|
|
|
ggO=&ffs
|
|
|
|
|
|
:=&ff
|
|
|
|
|
|
:w! XXtt72
|
|
|
|
|
|
:bwipe XXEol
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:set fileformats=mac,dos,unix
|
|
|
|
|
|
:e! XXUxDsMc
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt81
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxDsMc
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:e! XXEol
|
|
|
|
|
|
ggO=&ffs
|
|
|
|
|
|
:=&ff
|
|
|
|
|
|
:w! XXtt82
|
|
|
|
|
|
:bwipe XXEol
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:" try with 'binary' set
|
|
|
|
|
|
:set fileformats=mac,unix,dos
|
|
|
|
|
|
:set binary
|
|
|
|
|
|
:e! XXUxDsMc
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt91
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxDsMc
|
|
|
|
|
|
:set fileformats=mac
|
|
|
|
|
|
:e! XXUxDsMc
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w! XXtt92
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:bwipe XXUxDsMc
|
|
|
|
|
|
:set fileformats=dos
|
|
|
|
|
|
:e! XXUxDsMc
|
2005-01-04 21:07:44 +00:00
|
|
|
|
: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
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:w >>XXtt54
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w >>XXtt61
|
|
|
|
|
|
:w >>XXtt62
|
|
|
|
|
|
:w >>XXtt63
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:w >>XXtt64
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w >>XXtt71
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:w >>XXtt72
|
2005-01-04 21:07:44 +00:00
|
|
|
|
:w >>XXtt81
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:w >>XXtt82
|
2005-01-04 21:07:44 +00:00
|
|
|
|
: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
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:$r XXtt54
|
2005-01-04 21:07:44 +00:00
|
|
|
|
Go6:$r XXtt61
|
|
|
|
|
|
:$r XXtt62
|
|
|
|
|
|
:$r XXtt63
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:$r XXtt64
|
2005-01-04 21:07:44 +00:00
|
|
|
|
Go7:$r XXtt71
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:$r XXtt72
|
2005-01-04 21:07:44 +00:00
|
|
|
|
Go8:$r XXtt81
|
2015-02-27 17:48:09 +01:00
|
|
|
|
:$r XXtt82
|
2005-01-04 21:07:44 +00:00
|
|
|
|
Go9:$r XXtt91
|
|
|
|
|
|
:$r XXtt92
|
|
|
|
|
|
:$r XXtt93
|
|
|
|
|
|
Go10:$r XXUnix
|
|
|
|
|
|
:set nobinary ff&
|
|
|
|
|
|
:w
|
2004-06-13 20:20:40 +00:00
|
|
|
|
:qa!
|
|
|
|
|
|
ENDTEST
|
|
|
|
|
|
|
|
|
|
|
|
unix
|
|
|
|
|
|
unix
|
|
|
|
|
|
eof
|
|
|
|
|
|
|
|
|
|
|
|
dos
|
|
|
|
|
|
dos
|
|
|
|
|
|
eof
|
|
|
|
|
|
|
|
|
|
|
|
mac
mac
|