blob: e97bf004f160d2d17b78021cb249f1b284e6053a [file] [log] [blame]
Bram Moolenaar209d3872017-11-16 21:52:51 +01001" Tests for 'fixeol' and 'eol'
Bram Moolenaar6d91bcb2020-08-12 18:50:36 +02002
Bram Moolenaar209d3872017-11-16 21:52:51 +01003func Test_fixeol()
4 " first write two test files with and without trailing EOL
5 " use Unix fileformat for consistency
6 set ff=unix
7 enew!
8 call setline('.', 'with eol')
9 w! XXEol
10 enew!
11 set noeol nofixeol
12 call setline('.', 'without eol')
13 w! XXNoEol
14 set eol fixeol
15 bwipe XXEol XXNoEol
16
17 " try editing files with 'fixeol' disabled
18 e! XXEol
19 normal ostays eol
20 set nofixeol
21 w! XXTestEol
22 e! XXNoEol
23 normal ostays without
24 set nofixeol
25 w! XXTestNoEol
26 bwipe! XXEol XXNoEol XXTestEol XXTestNoEol
27 set fixeol
28
29 " Append "END" to each file so that we can see what the last written char
30 " was.
31 normal ggdGaEND
32 w >>XXEol
33 w >>XXNoEol
34 w >>XXTestEol
35 w >>XXTestNoEol
36
37 call assert_equal(['with eol', 'END'], readfile('XXEol'))
38 call assert_equal(['without eolEND'], readfile('XXNoEol'))
39 call assert_equal(['with eol', 'stays eol', 'END'], readfile('XXTestEol'))
40 call assert_equal(['without eol', 'stays withoutEND'],
41 \ readfile('XXTestNoEol'))
42
43 call delete('XXEol')
44 call delete('XXNoEol')
45 call delete('XXTestEol')
46 call delete('XXTestNoEol')
47 set ff& fixeol& eol&
48 enew!
49endfunc
Bram Moolenaar6d91bcb2020-08-12 18:50:36 +020050
51" vim: shiftwidth=2 sts=2 expandtab