tests: Migrate legacy test 30.

The original test did also create additional auxiliary files which where never
used.  They are not created any longer.
This commit is contained in:
Lucas Hoffmann
2015-05-15 19:03:45 +02:00
parent 176f223ea3
commit 87e0621857
4 changed files with 336 additions and 361 deletions

View File

@@ -15,7 +15,6 @@ SCRIPTS := \
test14.out \
test17.out \
test24.out \
test30.out \
test32.out \
test34.out \
test37.out \

View File

@@ -1,230 +0,0 @@
Test for a lot of variations of the 'fileformats' option
Note: This test will fail if "cat" is not available.
STARTTEST
:" 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
Gonoeol
:$w! XXEol
:set nobin eol
:enew!
:bwipe XXUnix XXDos XXMac
:" create mixed format files
:if has("win32")
: !copy /b XXUnix+XXDos XXUxDs
: !copy /b XXUnix+XXMac XXUxMac
: !copy /b XXDos+XXMac XXDosMac
: !copy /b XXMac+XXEol XXMacEol
: !copy /b XXUnix+XXDos+XXMac XXUxDsMc
:else
: !cat XXUnix XXDos >XXUxDs
: !cat XXUnix XXMac >XXUxMac
: !cat XXDos XXMac >XXDosMac
: !cat XXMac XXEol >XXMacEol
: !cat XXUnix XXDos XXMac >XXUxDsMc
:endif
:"
:" 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
:e! XXEol
ggO=&ffs
:=&ff
:w! XXtt54
:bwipe XXEol
:set fileformats=dos,mac
:e! XXUxDs
:w! XXtt61
:bwipe XXUxDs
:e! XXUxMac
ggO=&ffs
:=&ff
:w! XXtt62
:bwipe XXUxMac
:e! XXUxDsMc
:w! XXtt63
:bwipe XXUxDsMc
:e! XXMacEol
ggO=&ffs
:=&ff
:w! XXtt64
:bwipe XXMacEol
:"
:" try reading and writing with 'fileformats' set to three formats
:set fileformats=unix,dos,mac
:e! XXUxDsMc
:w! XXtt71
:bwipe XXUxDsMc
:e! XXEol
ggO=&ffs
:=&ff
:w! XXtt72
:bwipe XXEol
:set fileformats=mac,dos,unix
:e! XXUxDsMc
:w! XXtt81
:bwipe XXUxDsMc
:e! XXEol
ggO=&ffs
:=&ff
:w! XXtt82
:bwipe XXEol
:" 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 >>XXtt54
:w >>XXtt61
:w >>XXtt62
:w >>XXtt63
:w >>XXtt64
:w >>XXtt71
:w >>XXtt72
:w >>XXtt81
:w >>XXtt82
: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
:$r XXtt54
Go6:$r XXtt61
:$r XXtt62
:$r XXtt63
:$r XXtt64
Go7:$r XXtt71
:$r XXtt72
Go8:$r XXtt81
:$r XXtt82
Go9:$r XXtt91
:$r XXtt92
:$r XXtt93
Go10:$r XXUnix
:set nobinary ff&
:w
:qa!
ENDTEST
unix
unix
eof
dos
dos
eof
mac

View File

@@ -1,130 +0,0 @@
unix
unix
dos
dos
END
mac
mac
END
1
unix
unix
END
dos
dos
END
mac
mac
END
2
unix
unix
END
dos
dos
END
mac
mac
END
3
unix
unix
dos
dos
mac
mac
END
unix
unix
dos
dos
mac
mac
END
unix
unix
dos
dos
mac
mac
END
4
unix
unix
dos
dos
mac
mac
END
unix
unix
mac
mac
END
dos
dos
mac
mac
END
5
unix
unix
dos
dos
END
unix
unix
dos
dos
mac
mac
END
dos
dos
mac
mac
END
unix,mac:unix
noeol
END
6
unix
unix
dos
dos
END
dos,mac:dos
unix
unix
mac
mac
END
unix
unix
dos
dos
mac
mac
END
dos,mac:mac
mac
mac
noeol
END
7
unix
unix
dos
dos
mac
mac
END
unix,dos,mac:unix
noeol

View File

@@ -0,0 +1,336 @@
-- Test for a lot of variations of the 'fileformats' option
local helpers = require('test.functional.helpers')
local feed, insert, source, clear, execute, expect, eq, eval, write_file =
helpers.feed, helpers.insert, helpers.source, helpers.clear,
helpers.execute, helpers.expect, helpers.eq, helpers.eval,
helpers.write_file
describe('fileformats option', function()
setup(function()
clear()
local dos = 'dos\r\ndos\r\n'
local mac = 'mac\rmac\r'
local unix = 'unix\nunix\n'
write_file('XXDos', dos)
write_file('XXMac', mac)
write_file('XXUnix', unix)
write_file('XXDosMac', dos..mac)
write_file('XXUxDs', unix..dos)
write_file('XXUxDsMc', unix..dos..mac)
write_file('XXUxMac', unix..mac)
end)
teardown(function()
os.remove('test.out')
os.remove('XXDos')
os.remove('XXMac')
os.remove('XXUnix')
os.remove('XXDosMac')
os.remove('XXUxDs')
os.remove('XXUxDsMc')
os.remove('XXUxMac')
for i = 0, 9 do
for j = 1, 3 do
os.remove('XXtt'..i..j)
end
end
end)
it('is working', function()
-- Try reading and writing with 'fileformats' empty.
execute('set fileformats=')
execute('set fileformat=unix')
execute('e! XXUnix')
execute('w! test.out')
execute('e! XXDos')
execute('w! XXtt01')
execute('e! XXMac')
execute('w! XXtt02')
execute('bwipe XXUnix XXDos XXMac')
execute('set fileformat=dos')
execute('e! XXUnix')
execute('w! XXtt11')
execute('e! XXDos')
execute('w! XXtt12')
execute('e! XXMac')
execute('w! XXtt13')
execute('bwipe XXUnix XXDos XXMac')
execute('set fileformat=mac')
execute('e! XXUnix')
execute('w! XXtt21')
execute('e! XXDos')
execute('w! XXtt22')
execute('e! XXMac')
execute('w! XXtt23')
execute('bwipe XXUnix XXDos XXMac')
-- Try reading and writing with 'fileformats' set to one format.
execute('set fileformats=unix')
execute('e! XXUxDsMc')
execute('w! XXtt31')
execute('bwipe XXUxDsMc')
execute('set fileformats=dos')
execute('e! XXUxDsMc')
execute('w! XXtt32')
execute('bwipe XXUxDsMc')
execute('set fileformats=mac')
execute('e! XXUxDsMc')
execute('w! XXtt33')
execute('bwipe XXUxDsMc')
-- Try reading and writing with 'fileformats' set to two formats.
execute('set fileformats=unix,dos')
execute('e! XXUxDsMc')
execute('w! XXtt41')
execute('bwipe XXUxDsMc')
execute('e! XXUxMac')
execute('w! XXtt42')
execute('bwipe XXUxMac')
execute('e! XXDosMac')
execute('w! XXtt43')
execute('bwipe XXDosMac')
execute('set fileformats=unix,mac')
execute('e! XXUxDs')
execute('w! XXtt51')
execute('bwipe XXUxDs')
execute('e! XXUxDsMc')
execute('w! XXtt52')
execute('bwipe XXUxDsMc')
execute('e! XXDosMac')
execute('w! XXtt53')
execute('bwipe XXDosMac')
execute('set fileformats=dos,mac')
execute('e! XXUxDs')
execute('w! XXtt61')
execute('bwipe XXUxDs')
execute('e! XXUxMac')
execute('w! XXtt62')
execute('bwipe XXUxMac')
execute('e! XXUxDsMc')
execute('w! XXtt63')
execute('bwipe XXUxDsMc')
-- Try reading and writing with 'fileformats' set to three formats.
execute('set fileformats=unix,dos,mac')
execute('e! XXUxDsMc')
execute('w! XXtt71')
execute('bwipe XXUxDsMc')
execute('set fileformats=mac,dos,unix')
execute('e! XXUxDsMc')
execute('w! XXtt81')
execute('bwipe XXUxDsMc')
-- Try with 'binary' set.
execute('set fileformats=mac,unix,dos')
execute('set binary')
execute('e! XXUxDsMc')
execute('w! XXtt91')
execute('bwipe XXUxDsMc')
execute('set fileformats=mac')
execute('e! XXUxDsMc')
execute('w! XXtt92')
execute('bwipe XXUxDsMc')
execute('set fileformats=dos')
execute('e! XXUxDsMc')
execute('w! XXtt93')
-- Append "END" to each file so that we can see what the last written char was.
execute('set fileformat=unix nobin')
feed('ggdGaEND<esc>')
execute('w >>XXtt01')
execute('w >>XXtt02')
execute('w >>XXtt11')
execute('w >>XXtt12')
execute('w >>XXtt13')
execute('w >>XXtt21')
execute('w >>XXtt22')
execute('w >>XXtt23')
execute('w >>XXtt31')
execute('w >>XXtt32')
execute('w >>XXtt33')
execute('w >>XXtt41')
execute('w >>XXtt42')
execute('w >>XXtt43')
execute('w >>XXtt51')
execute('w >>XXtt52')
execute('w >>XXtt53')
execute('w >>XXtt61')
execute('w >>XXtt62')
execute('w >>XXtt63')
execute('w >>XXtt71')
execute('w >>XXtt81')
execute('w >>XXtt91')
execute('w >>XXtt92')
execute('w >>XXtt93')
-- Concatenate the results.
-- Make fileformat of test.out the native fileformat.
-- Add a newline at the end.
execute('set binary')
execute('e! test.out')
execute('$r XXtt01')
execute('$r XXtt02')
feed('Go1<esc>')
execute('$r XXtt11')
execute('$r XXtt12')
execute('$r XXtt13')
feed('Go2<esc>')
execute('$r XXtt21')
execute('$r XXtt22')
execute('$r XXtt23')
feed('Go3<esc>')
execute('$r XXtt31')
execute('$r XXtt32')
execute('$r XXtt33')
feed('Go4<esc>')
execute('$r XXtt41')
execute('$r XXtt42')
execute('$r XXtt43')
feed('Go5<esc>')
execute('$r XXtt51')
execute('$r XXtt52')
execute('$r XXtt53')
feed('Go6<esc>')
execute('$r XXtt61')
execute('$r XXtt62')
execute('$r XXtt63')
feed('Go7<esc>')
execute('$r XXtt71')
feed('Go8<esc>')
execute('$r XXtt81')
feed('Go9<esc>')
execute('$r XXtt91')
execute('$r XXtt92')
execute('$r XXtt93')
feed('Go10<esc>')
execute('$r XXUnix')
execute('set nobinary ff&')
-- Assert buffer contents. This has to be done manually as
-- helpers.expect() calls helpers.dedent() which messes up the white space
-- and carrige returns.
eq(
'unix\n'..
'unix\n'..
'dos\r\n'..
'dos\r\n'..
'END\n'..
'mac\rmac\r\n'..
'END\n'..
'1\n'..
'unix\r\n'..
'unix\r\n'..
'END\n'..
'dos\r\n'..
'dos\r\n'..
'END\n'..
'mac\rmac\r\r\n'..
'END\n'..
'2\n'..
'unix\n'..
'unix\n'..
'\rEND\n'..
'dos\r\n'..
'dos\r\n'..
'\rEND\n'..
'mac\rmac\rEND\n'..
'3\n'..
'unix\n'..
'unix\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\r\n'..
'END\n'..
'unix\r\n'..
'unix\r\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\r\r\n'..
'END\n'..
'unix\n'..
'unix\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\rEND\n'..
'4\n'..
'unix\n'..
'unix\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\r\n'..
'END\n'..
'unix\n'..
'unix\n'..
'mac\rmac\r\n'..
'END\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\r\r\n'..
'END\n'..
'5\n'..
'unix\n'..
'unix\n'..
'dos\r\n'..
'dos\r\n'..
'END\n'..
'unix\n'..
'unix\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\r\n'..
'END\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\rEND\n'..
'6\n'..
'unix\r\n'..
'unix\r\n'..
'dos\r\n'..
'dos\r\n'..
'END\n'..
'unix\r\n'..
'unix\r\n'..
'mac\rmac\r\r\n'..
'END\n'..
'unix\r\n'..
'unix\r\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\r\r\n'..
'END\n'..
'7\n'..
'unix\n'..
'unix\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\r\n'..
'END\n'..
'8\n'..
'unix\n'..
'unix\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\r\n'..
'END\n'..
'9\n'..
'unix\n'..
'unix\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\rEND\n'..
'unix\n'..
'unix\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\rEND\n'..
'unix\n'..
'unix\n'..
'dos\r\n'..
'dos\r\n'..
'mac\rmac\rEND\n'..
'10\n'..
'unix\n'..
'unix',
helpers.curbuf_contents())
end)
end)