blob: 1cb09e864723638f135af321652a3a2d4957146d [file] [log] [blame]
Bram Moolenaar80492532016-03-08 17:08:53 +01001" Test getting and setting file permissions.
2
3func Test_file_perm()
4 call assert_equal('', getfperm('Xtest'))
Bram Moolenaar4c313b12019-08-24 22:58:31 +02005 call assert_equal(0, 'Xtest'->setfperm('r--------'))
Bram Moolenaar80492532016-03-08 17:08:53 +01006
7 call writefile(['one'], 'Xtest')
Bram Moolenaar4c313b12019-08-24 22:58:31 +02008 call assert_true(len('Xtest'->getfperm()) == 9)
Bram Moolenaar80492532016-03-08 17:08:53 +01009
10 call assert_equal(1, setfperm('Xtest', 'rwx------'))
Bram Moolenaar8322e1f2016-03-08 19:20:04 +010011 if has('win32')
12 call assert_equal('rw-rw-rw-', getfperm('Xtest'))
13 else
14 call assert_equal('rwx------', getfperm('Xtest'))
15 endif
Bram Moolenaar80492532016-03-08 17:08:53 +010016
17 call assert_equal(1, setfperm('Xtest', 'r--r--r--'))
18 call assert_equal('r--r--r--', getfperm('Xtest'))
19
20 call assert_fails("setfperm('Xtest', '---')")
21
22 call assert_equal(1, setfperm('Xtest', 'rwx------'))
23 call delete('Xtest')
Bram Moolenaar0e05de42020-03-25 22:23:46 +010024
25 call assert_fails("call setfperm(['Xfile'], 'rw-rw-rw-')", 'E730:')
26 call assert_fails("call setfperm('Xfile', [])", 'E730:')
27 call assert_fails("call setfperm('Xfile', 'rwxrwxrwxrw')", 'E475:')
Bram Moolenaar80492532016-03-08 17:08:53 +010028endfunc
Bram Moolenaar0e05de42020-03-25 22:23:46 +010029
30" vim: shiftwidth=2 sts=2 expandtab