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() |
| 4 | call assert_equal('', getfperm('Xtest')) |
Bram Moolenaar | 4c313b1 | 2019-08-24 22:58:31 +0200 | [diff] [blame] | 5 | call assert_equal(0, 'Xtest'->setfperm('r--------')) |
Bram Moolenaar | 8049253 | 2016-03-08 17:08:53 +0100 | [diff] [blame] | 6 | |
| 7 | call writefile(['one'], 'Xtest') |
Bram Moolenaar | 4c313b1 | 2019-08-24 22:58:31 +0200 | [diff] [blame] | 8 | call assert_true(len('Xtest'->getfperm()) == 9) |
Bram Moolenaar | 8049253 | 2016-03-08 17:08:53 +0100 | [diff] [blame] | 9 | |
| 10 | call assert_equal(1, setfperm('Xtest', 'rwx------')) |
Bram Moolenaar | 8322e1f | 2016-03-08 19:20:04 +0100 | [diff] [blame] | 11 | if has('win32') |
| 12 | call assert_equal('rw-rw-rw-', getfperm('Xtest')) |
| 13 | else |
| 14 | call assert_equal('rwx------', getfperm('Xtest')) |
| 15 | endif |
Bram Moolenaar | 8049253 | 2016-03-08 17:08:53 +0100 | [diff] [blame] | 16 | |
| 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 Moolenaar | 0e05de4 | 2020-03-25 22:23:46 +0100 | [diff] [blame^] | 24 | |
| 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 Moolenaar | 8049253 | 2016-03-08 17:08:53 +0100 | [diff] [blame] | 28 | endfunc |
Bram Moolenaar | 0e05de4 | 2020-03-25 22:23:46 +0100 | [diff] [blame^] | 29 | |
| 30 | " vim: shiftwidth=2 sts=2 expandtab |