mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.1.0262: not enough testing for getftype()
Problem: Not enough testing for getftype().
Solution: Add a test. (Dominique Pelle, closes vim/vim#3300)
1598f9937a
This commit is contained in:
parent
163680a58e
commit
a1a5e35e9a
@ -9874,7 +9874,7 @@ static void f_getftype(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
|||||||
# endif
|
# endif
|
||||||
# ifdef S_ISSOCK
|
# ifdef S_ISSOCK
|
||||||
else if (S_ISSOCK(mode))
|
else if (S_ISSOCK(mode))
|
||||||
t = "fifo";
|
t = "socket";
|
||||||
# endif
|
# endif
|
||||||
else
|
else
|
||||||
t = "other";
|
t = "other";
|
||||||
|
@ -122,6 +122,41 @@ func Test_nonexistent_file()
|
|||||||
call assert_equal('', getfperm(fname))
|
call assert_equal('', getfperm(fname))
|
||||||
endfunc
|
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()
|
func Test_win32_symlink_dir()
|
||||||
" On Windows, non-admin users cannot create symlinks.
|
" On Windows, non-admin users cannot create symlinks.
|
||||||
" So we use an existing symlink for this test.
|
" So we use an existing symlink for this test.
|
||||||
|
Loading…
Reference in New Issue
Block a user