blob: 8af95328a248680b9541389a7e3576e6cba4574f [file] [log] [blame]
Bram Moolenaar80492532016-03-08 17:08:53 +01001" Test getting and setting file permissions.
2
3func Test_file_perm()
Bram Moolenaar70e67252022-09-27 19:34:35 +01004 call assert_equal('', getfperm('XtestPerm'))
5 call assert_equal(0, 'XtestPerm'->setfperm('r--------'))
Bram Moolenaar80492532016-03-08 17:08:53 +01006
Bram Moolenaar70e67252022-09-27 19:34:35 +01007 call writefile(['one'], 'XtestPerm', 'D')
8 call assert_true(len('XtestPerm'->getfperm()) == 9)
Bram Moolenaar80492532016-03-08 17:08:53 +01009
Bram Moolenaar70e67252022-09-27 19:34:35 +010010 call assert_equal(1, setfperm('XtestPerm', 'rwx------'))
Bram Moolenaar8322e1f2016-03-08 19:20:04 +010011 if has('win32')
Bram Moolenaar70e67252022-09-27 19:34:35 +010012 call assert_equal('rw-rw-rw-', getfperm('XtestPerm'))
Bram Moolenaar8322e1f2016-03-08 19:20:04 +010013 else
Bram Moolenaar70e67252022-09-27 19:34:35 +010014 call assert_equal('rwx------', getfperm('XtestPerm'))
Bram Moolenaar8322e1f2016-03-08 19:20:04 +010015 endif
Bram Moolenaar80492532016-03-08 17:08:53 +010016
Bram Moolenaar70e67252022-09-27 19:34:35 +010017 call assert_equal(1, setfperm('XtestPerm', 'r--r--r--'))
18 call assert_equal('r--r--r--', getfperm('XtestPerm'))
Bram Moolenaar80492532016-03-08 17:08:53 +010019
Bram Moolenaar70e67252022-09-27 19:34:35 +010020 call assert_fails("setfperm('XtestPerm', '---')")
Bram Moolenaar80492532016-03-08 17:08:53 +010021
Bram Moolenaar70e67252022-09-27 19:34:35 +010022 call assert_equal(1, setfperm('XtestPerm', 'rwx------'))
Bram Moolenaar0e05de42020-03-25 22:23:46 +010023
Bram Moolenaarb18b4962022-09-02 21:55:50 +010024 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:')
Bram Moolenaar80492532016-03-08 17:08:53 +010027endfunc
Bram Moolenaar0e05de42020-03-25 22:23:46 +010028
29" vim: shiftwidth=2 sts=2 expandtab