Bram Moolenaar | 8049253 | 2016-03-08 17:08:53 +0100 | [diff] [blame] | 1 | " Test getting and setting file permissions. |
| 2 | |
| 3 | func Test_file_perm() |
Bram Moolenaar | 70e6725 | 2022-09-27 19:34:35 +0100 | [diff] [blame] | 4 | call assert_equal('', getfperm('XtestPerm')) |
| 5 | call assert_equal(0, 'XtestPerm'->setfperm('r--------')) |
Bram Moolenaar | 8049253 | 2016-03-08 17:08:53 +0100 | [diff] [blame] | 6 | |
Bram Moolenaar | 70e6725 | 2022-09-27 19:34:35 +0100 | [diff] [blame] | 7 | call writefile(['one'], 'XtestPerm', 'D') |
| 8 | call assert_true(len('XtestPerm'->getfperm()) == 9) |
Bram Moolenaar | 8049253 | 2016-03-08 17:08:53 +0100 | [diff] [blame] | 9 | |
Bram Moolenaar | 70e6725 | 2022-09-27 19:34:35 +0100 | [diff] [blame] | 10 | call assert_equal(1, setfperm('XtestPerm', 'rwx------')) |
Bram Moolenaar | 8322e1f | 2016-03-08 19:20:04 +0100 | [diff] [blame] | 11 | if has('win32') |
Bram Moolenaar | 70e6725 | 2022-09-27 19:34:35 +0100 | [diff] [blame] | 12 | call assert_equal('rw-rw-rw-', getfperm('XtestPerm')) |
Bram Moolenaar | 8322e1f | 2016-03-08 19:20:04 +0100 | [diff] [blame] | 13 | else |
Bram Moolenaar | 70e6725 | 2022-09-27 19:34:35 +0100 | [diff] [blame] | 14 | call assert_equal('rwx------', getfperm('XtestPerm')) |
Bram Moolenaar | 8322e1f | 2016-03-08 19:20:04 +0100 | [diff] [blame] | 15 | endif |
Bram Moolenaar | 8049253 | 2016-03-08 17:08:53 +0100 | [diff] [blame] | 16 | |
Bram Moolenaar | 70e6725 | 2022-09-27 19:34:35 +0100 | [diff] [blame] | 17 | call assert_equal(1, setfperm('XtestPerm', 'r--r--r--')) |
| 18 | call assert_equal('r--r--r--', getfperm('XtestPerm')) |
Bram Moolenaar | 8049253 | 2016-03-08 17:08:53 +0100 | [diff] [blame] | 19 | |
Bram Moolenaar | 70e6725 | 2022-09-27 19:34:35 +0100 | [diff] [blame] | 20 | call assert_fails("setfperm('XtestPerm', '---')") |
Bram Moolenaar | 8049253 | 2016-03-08 17:08:53 +0100 | [diff] [blame] | 21 | |
Bram Moolenaar | 70e6725 | 2022-09-27 19:34:35 +0100 | [diff] [blame] | 22 | call assert_equal(1, setfperm('XtestPerm', 'rwx------')) |
Bram Moolenaar | 0e05de4 | 2020-03-25 22:23:46 +0100 | [diff] [blame] | 23 | |
Bram Moolenaar | b18b496 | 2022-09-02 21:55:50 +0100 | [diff] [blame] | 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:') |
Bram Moolenaar | 8049253 | 2016-03-08 17:08:53 +0100 | [diff] [blame] | 27 | endfunc |
Bram Moolenaar | 0e05de4 | 2020-03-25 22:23:46 +0100 | [diff] [blame] | 28 | |
| 29 | " vim: shiftwidth=2 sts=2 expandtab |