2017-08-05 19:17:25 +00:00
|
|
|
Before:
|
|
|
|
call ale#test#SetDirectory('/testplugin/test')
|
|
|
|
|
2019-05-20 18:27:47 +00:00
|
|
|
let g:new_line_test_file = tempname()
|
|
|
|
|
2017-08-05 19:17:25 +00:00
|
|
|
After:
|
|
|
|
noautocmd :e! ++ff=unix
|
|
|
|
setlocal buftype=nofile
|
|
|
|
|
2019-05-20 18:27:47 +00:00
|
|
|
if filereadable(g:new_line_test_file)
|
|
|
|
call delete(g:new_line_test_file)
|
2017-08-05 19:17:25 +00:00
|
|
|
endif
|
|
|
|
|
2019-05-20 18:27:47 +00:00
|
|
|
unlet! g:new_line_test_file
|
|
|
|
|
2017-08-05 19:17:25 +00:00
|
|
|
call ale#test#RestoreDirectory()
|
|
|
|
|
|
|
|
Given(A file with Windows line ending characters):
|
|
|
|
first
|
|
|
|
second
|
|
|
|
third
|
|
|
|
|
|
|
|
Execute(Carriage returns should be included for ale#util#Writefile):
|
2019-05-20 18:27:47 +00:00
|
|
|
call ale#test#SetFilename(g:new_line_test_file)
|
2017-08-05 19:17:25 +00:00
|
|
|
|
|
|
|
setlocal buftype=
|
|
|
|
noautocmd :w
|
|
|
|
noautocmd :e! ++ff=dos
|
|
|
|
|
2019-05-20 18:27:47 +00:00
|
|
|
call ale#util#Writefile(bufnr(''), getline(1, '$'), g:new_line_test_file)
|
2017-08-05 19:17:25 +00:00
|
|
|
|
|
|
|
AssertEqual
|
|
|
|
\ ["first\r", "second\r", "third\r", ''],
|
2019-05-20 18:27:47 +00:00
|
|
|
\ readfile(g:new_line_test_file, 'b')
|
2018-09-19 18:28:41 +00:00
|
|
|
|
|
|
|
Given(A file with extra carriage returns):
|
|
|
|
first
|
|
|
|
second
|
|
|
|
third
|
|
|
|
fourth
|
|
|
|
|
|
|
|
Execute(Carriage returns should be de-depulicated):
|
2019-05-20 18:27:47 +00:00
|
|
|
call ale#test#SetFilename(g:new_line_test_file)
|
2018-09-19 18:28:41 +00:00
|
|
|
|
|
|
|
setlocal buftype=
|
|
|
|
noautocmd :w
|
|
|
|
noautocmd :e! ++ff=dos
|
|
|
|
|
2019-05-20 18:27:47 +00:00
|
|
|
call ale#util#Writefile(bufnr(''), getline(1, '$'), g:new_line_test_file)
|
2018-09-19 18:28:41 +00:00
|
|
|
|
|
|
|
AssertEqual
|
|
|
|
\ ["first\r", "second\r", "third\r", "fourth\r", ''],
|
2019-05-20 18:27:47 +00:00
|
|
|
\ readfile(g:new_line_test_file, 'b')
|
2018-09-19 18:28:41 +00:00
|
|
|
|
2017-08-05 19:17:25 +00:00
|
|
|
Given(A file with Unix line ending characters):
|
|
|
|
first
|
|
|
|
second
|
|
|
|
third
|
|
|
|
|
|
|
|
Execute(Unix file lines should be written as normal):
|
2019-05-20 18:27:47 +00:00
|
|
|
call ale#test#SetFilename(g:new_line_test_file)
|
2017-08-05 19:17:25 +00:00
|
|
|
|
|
|
|
setlocal buftype=
|
|
|
|
noautocmd :w
|
|
|
|
noautocmd :e! ++ff=unix
|
|
|
|
|
2019-05-20 18:27:47 +00:00
|
|
|
call ale#util#Writefile(bufnr(''), getline(1, '$'), g:new_line_test_file)
|
2017-08-05 19:17:25 +00:00
|
|
|
|
|
|
|
AssertEqual
|
|
|
|
\ ['first', 'second', 'third', ''],
|
2019-05-20 18:27:47 +00:00
|
|
|
\ readfile(g:new_line_test_file, 'b')
|
2020-04-30 07:43:17 +00:00
|
|
|
|
|
|
|
Execute(Newline at end of file should be preserved even when nofixeol):
|
|
|
|
call ale#test#SetFilename(g:new_line_test_file)
|
|
|
|
|
|
|
|
setlocal buftype=
|
|
|
|
noautocmd :w
|
|
|
|
noautocmd :e! ++ff=unix
|
|
|
|
set eol
|
|
|
|
set nofixeol
|
|
|
|
|
|
|
|
call ale#util#Writefile(bufnr(''), getline(1, '$'), g:new_line_test_file)
|
|
|
|
|
|
|
|
AssertEqual
|
|
|
|
\ ['first', 'second', 'third', ''],
|
|
|
|
\ readfile(g:new_line_test_file, 'b')
|
|
|
|
|
|
|
|
Execute(Newline should not be appended on write when noeol and nofixeol):
|
|
|
|
call ale#test#SetFilename(g:new_line_test_file)
|
|
|
|
|
|
|
|
setlocal buftype=
|
|
|
|
noautocmd :w
|
|
|
|
noautocmd :e! ++ff=unix
|
|
|
|
set noeol
|
|
|
|
set nofixeol
|
|
|
|
|
|
|
|
call ale#util#Writefile(bufnr(''), getline(1, '$'), g:new_line_test_file)
|
|
|
|
|
|
|
|
AssertEqual
|
|
|
|
\ ['first', 'second', 'third'],
|
|
|
|
\ readfile(g:new_line_test_file, 'b')
|
|
|
|
|
|
|
|
Execute(Newline should be appended on write when noeol and fixeol):
|
|
|
|
call ale#test#SetFilename(g:new_line_test_file)
|
|
|
|
|
|
|
|
setlocal buftype=
|
|
|
|
noautocmd :w
|
|
|
|
noautocmd :e! ++ff=unix
|
|
|
|
set noeol
|
|
|
|
set fixeol
|
|
|
|
|
|
|
|
call ale#util#Writefile(bufnr(''), getline(1, '$'), g:new_line_test_file)
|
|
|
|
|
|
|
|
AssertEqual
|
|
|
|
\ ['first', 'second', 'third', ''],
|
|
|
|
\ readfile(g:new_line_test_file, 'b')
|
|
|
|
|