Files
neovim/test/old/testdir/test_file_perm.vim
zeertzjq 4edeaaa6e2 vim-patch:partial:9.1.1708: tests: various tests can be improved (#35548)
Problem:  tests: various tests can be improved
Solution: Use string interpolation to concatenate strings in
          test_winfixbuf, check for specific errors in assert_fails()
          (Yegappan Lakshmanan)

closes: vim/vim#18151

97ea879b9b

Cherry-pick Test_file_perm.vim changes from patch 9.0.{0363,0611}.
Skip Test_colornames_assignment_and_unassignment().

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2025-08-30 08:55:48 +08:00

30 lines
1004 B
VimL

" Test getting and setting file permissions.
func Test_file_perm()
call assert_equal('', getfperm('XtestPerm'))
call assert_equal(0, 'XtestPerm'->setfperm('r--------'))
call writefile(['one'], 'XtestPerm', 'D')
call assert_true(len('XtestPerm'->getfperm()) == 9)
call assert_equal(1, setfperm('XtestPerm', 'rwx------'))
if has('win32')
call assert_equal('rw-rw-rw-', getfperm('XtestPerm'))
else
call assert_equal('rwx------', getfperm('XtestPerm'))
endif
call assert_equal(1, setfperm('XtestPerm', 'r--r--r--'))
call assert_equal('r--r--r--', getfperm('XtestPerm'))
call assert_fails("call setfperm('XtestPerm', '---')", 'E475: Invalid argument: ---')
call assert_equal(1, setfperm('XtestPerm', 'rwx------'))
call assert_fails("call setfperm(['Xpermfile'], 'rw-rw-rw-')", 'E730:')
call assert_fails("call setfperm('Xpermfile', [])", 'E730:')
call assert_fails("call setfperm('Xpermfile', 'rwxrwxrwxrw')", 'E475:')
endfunc
" vim: shiftwidth=2 sts=2 expandtab