mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.1.0262: not enough testing for getftype()
Problem: Not enough testing for getftype(). Solution: Add a test. (Dominique Pelle, closes #3300)
This commit is contained in:
parent
38efd1d17a
commit
1598f9937a
@ -5111,7 +5111,7 @@ f_getftype(typval_T *argvars, typval_T *rettv)
|
||||
# endif
|
||||
# ifdef S_ISSOCK
|
||||
else if (S_ISSOCK(st.st_mode))
|
||||
t = "fifo";
|
||||
t = "socket";
|
||||
# endif
|
||||
else
|
||||
t = "other";
|
||||
|
@ -122,6 +122,41 @@ func Test_nonexistent_file()
|
||||
call assert_equal('', getfperm(fname))
|
||||
endfunc
|
||||
|
||||
func Test_getftype()
|
||||
call assert_equal('file', getftype(v:progpath))
|
||||
call assert_equal('dir', getftype('.'))
|
||||
|
||||
if !has('unix')
|
||||
return
|
||||
endif
|
||||
|
||||
silent !ln -s Xfile Xlink
|
||||
call assert_equal('link', getftype('Xlink'))
|
||||
call delete('Xlink')
|
||||
|
||||
if executable('mkfifo')
|
||||
silent !mkfifo Xfifo
|
||||
call assert_equal('fifo', getftype('Xfifo'))
|
||||
call delete('Xfifo')
|
||||
endif
|
||||
|
||||
for cdevfile in systemlist('find /dev -type c -maxdepth 2 2>/dev/null')
|
||||
call assert_equal('cdev', getftype(cdevfile))
|
||||
endfor
|
||||
|
||||
for bdevfile in systemlist('find /dev -type b -maxdepth 2 2>/dev/null')
|
||||
call assert_equal('bdev', getftype(bdevfile))
|
||||
endfor
|
||||
|
||||
" The /run/ directory typically contains socket files.
|
||||
" If it does not, test won't fail but will not test socket files.
|
||||
for socketfile in systemlist('find /run -type s -maxdepth 2 2>/dev/null')
|
||||
call assert_equal('socket', getftype(socketfile))
|
||||
endfor
|
||||
|
||||
" TODO: file type 'other' is not tested. How can we test it?
|
||||
endfunc
|
||||
|
||||
func Test_win32_symlink_dir()
|
||||
" On Windows, non-admin users cannot create symlinks.
|
||||
" So we use an existing symlink for this test.
|
||||
|
@ -794,6 +794,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
262,
|
||||
/**/
|
||||
261,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user