test_file_perm.vim (1004B)
1 " Test getting and setting file permissions. 2 3 func Test_file_perm() 4 call assert_equal('', getfperm('XtestPerm')) 5 call assert_equal(0, 'XtestPerm'->setfperm('r--------')) 6 7 call writefile(['one'], 'XtestPerm', 'D') 8 call assert_true(len('XtestPerm'->getfperm()) == 9) 9 10 call assert_equal(1, setfperm('XtestPerm', 'rwx------')) 11 if has('win32') 12 call assert_equal('rw-rw-rw-', getfperm('XtestPerm')) 13 else 14 call assert_equal('rwx------', getfperm('XtestPerm')) 15 endif 16 17 call assert_equal(1, setfperm('XtestPerm', 'r--r--r--')) 18 call assert_equal('r--r--r--', getfperm('XtestPerm')) 19 20 call assert_fails("call setfperm('XtestPerm', '---')", 'E475: Invalid argument: ---') 21 22 call assert_equal(1, setfperm('XtestPerm', 'rwx------')) 23 24 call assert_fails("call setfperm(['Xpermfile'], 'rw-rw-rw-')", 'E730:') 25 call assert_fails("call setfperm('Xpermfile', [])", 'E730:') 26 call assert_fails("call setfperm('Xpermfile', 'rwxrwxrwxrw')", 'E475:') 27 endfunc 28 29 " vim: shiftwidth=2 sts=2 expandtab