mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.1505: not all file read and writecode is tested
Problem: Not all file read and writecode is tested. Solution: Add a few tests. (Dominique Pellé, closes #6764)
This commit is contained in:
parent
7cb6fc29d0
commit
1b04ce2d40
@ -74,18 +74,31 @@ func Test_readfile_binary()
|
||||
new
|
||||
call setline(1, ['one', 'two', 'three'])
|
||||
setlocal ff=dos
|
||||
silent write XReadfile
|
||||
let lines = 'XReadfile'->readfile()
|
||||
silent write XReadfile_bin
|
||||
let lines = 'XReadfile_bin'->readfile()
|
||||
call assert_equal(['one', 'two', 'three'], lines)
|
||||
let lines = readfile('XReadfile', '', 2)
|
||||
let lines = readfile('XReadfile_bin', '', 2)
|
||||
call assert_equal(['one', 'two'], lines)
|
||||
let lines = readfile('XReadfile', 'b')
|
||||
let lines = readfile('XReadfile_bin', 'b')
|
||||
call assert_equal(["one\r", "two\r", "three\r", ""], lines)
|
||||
let lines = readfile('XReadfile', 'b', 2)
|
||||
let lines = readfile('XReadfile_bin', 'b', 2)
|
||||
call assert_equal(["one\r", "two\r"], lines)
|
||||
|
||||
bwipe!
|
||||
call delete('XReadfile')
|
||||
call delete('XReadfile_bin')
|
||||
endfunc
|
||||
|
||||
func Test_readfile_bom()
|
||||
call writefile(["\ufeffFOO", "FOO\ufeffBAR"], 'XReadfile_bom')
|
||||
call assert_equal(['FOO', 'FOOBAR'], readfile('XReadfile_bom'))
|
||||
call delete('XReadfile_bom')
|
||||
endfunc
|
||||
|
||||
func Test_readfile_max()
|
||||
call writefile(range(1, 4), 'XReadfile_max')
|
||||
call assert_equal(['1', '2'], readfile('XReadfile_max', '', 2))
|
||||
call assert_equal(['3', '4'], readfile('XReadfile_max', '', -2))
|
||||
call delete('XReadfile_max')
|
||||
endfunc
|
||||
|
||||
func Test_let_errmsg()
|
||||
|
@ -11,6 +11,7 @@ func Test_fnamemodify()
|
||||
call assert_equal('/', fnamemodify('.', ':p')[-1:])
|
||||
call assert_equal('r', fnamemodify('.', ':p:h')[-1:])
|
||||
call assert_equal('t', fnamemodify('test.out', ':p')[-1:])
|
||||
call assert_equal($HOME .. "/foo" , fnamemodify('~/foo', ':p'))
|
||||
call assert_equal('test.out', fnamemodify('test.out', ':.'))
|
||||
call assert_equal('a', fnamemodify('../testdir/a', ':.'))
|
||||
call assert_equal('~/testdir/test.out', fnamemodify('test.out', ':~'))
|
||||
@ -93,4 +94,9 @@ func Test_fnamemodify_er()
|
||||
call assert_equal('', fnamemodify(test_null_string(), test_null_string()))
|
||||
endfunc
|
||||
|
||||
func Test_fnamemodify_fail()
|
||||
call assert_fails('call fnamemodify({}, ":p")', 'E731:')
|
||||
call assert_fails('call fnamemodify("x", {})', 'E731:')
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@ -2516,6 +2516,19 @@ endfunc
|
||||
func Test_glob()
|
||||
call assert_equal('', glob(test_null_string()))
|
||||
call assert_equal('', globpath(test_null_string(), test_null_string()))
|
||||
|
||||
call writefile([], 'Xglob1')
|
||||
call writefile([], 'XGLOB2')
|
||||
set wildignorecase
|
||||
" Sort output of glob() otherwise we end up with different
|
||||
" ordering depending on whether file system is case-sensitive.
|
||||
call assert_equal(['XGLOB2', 'Xglob1'], sort(glob('Xglob[12]', 0, 1)))
|
||||
set wildignorecase&
|
||||
|
||||
call delete('Xglob1')
|
||||
call delete('XGLOB2')
|
||||
|
||||
call assert_fails("call glob('*', 0, {})", 'E728:')
|
||||
endfunc
|
||||
|
||||
" Test for browse()
|
||||
|
@ -754,6 +754,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1505,
|
||||
/**/
|
||||
1504,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user