1" Test for delete(). 2 3func Test_file_delete() 4 split Xfile 5 call setline(1, ['a', 'b']) 6 wq 7 call assert_equal(['a', 'b'], readfile('Xfile')) 8 call assert_equal(0, delete('Xfile')) 9 call assert_fails('call readfile("Xfile")', 'E484:') 10 call assert_equal(-1, delete('Xfile')) 11endfunc 12 13func Test_dir_delete() 14 call mkdir('Xdir1') 15 call assert_true(isdirectory('Xdir1')) 16 call assert_equal(0, delete('Xdir1', 'd')) 17 call assert_false(isdirectory('Xdir1')) 18 call assert_equal(-1, delete('Xdir1', 'd')) 19endfunc 20 21func Test_recursive_delete() 22 call mkdir('Xdir1') 23 call mkdir('Xdir1/subdir') 24 split Xdir1/Xfile 25 call setline(1, ['a', 'b']) 26 w 27 w Xdir1/subdir/Xfile 28 close 29 call assert_true(isdirectory('Xdir1')) 30 call assert_equal(['a', 'b'], readfile('Xdir1/Xfile')) 31 call assert_true(isdirectory('Xdir1/subdir')) 32 call assert_equal(['a', 'b'], readfile('Xdir1/subdir/Xfile')) 33 call assert_equal(0, delete('Xdir1', 'rf')) 34 call assert_false(isdirectory('Xdir1')) 35 call assert_equal(-1, delete('Xdir1', 'd')) 36endfunc 37 38func Test_symlink_delete() 39 if !has('unix') 40 return 41 endif 42 split Xfile 43 call setline(1, ['a', 'b']) 44 wq 45 silent !ln -s Xfile Xlink 46 " Delete the link, not the file 47 call assert_equal(0, delete('Xlink')) 48 call assert_equal(-1, delete('Xlink')) 49 call assert_equal(0, delete('Xfile')) 50endfunc 51 52func Test_symlink_dir_delete() 53 if !has('unix') 54 return 55 endif 56 call mkdir('Xdir1') 57 silent !ln -s Xdir1 Xlink 58 call assert_true(isdirectory('Xdir1')) 59 call assert_true(isdirectory('Xlink')) 60 " Delete the link, not the directory 61 call assert_equal(0, delete('Xlink')) 62 call assert_equal(-1, delete('Xlink')) 63 call assert_equal(0, delete('Xdir1', 'd')) 64endfunc 65 66func Test_symlink_recursive_delete() 67 if !has('unix') 68 return 69 endif 70 call mkdir('Xdir3') 71 call mkdir('Xdir3/subdir') 72 call mkdir('Xdir4') 73 split Xdir3/Xfile 74 call setline(1, ['a', 'b']) 75 w 76 w Xdir3/subdir/Xfile 77 w Xdir4/Xfile 78 close 79 silent !ln -s ../Xdir4 Xdir3/Xlink 80 81 call assert_true(isdirectory('Xdir3')) 82 call assert_equal(['a', 'b'], readfile('Xdir3/Xfile')) 83 call assert_true(isdirectory('Xdir3/subdir')) 84 call assert_equal(['a', 'b'], readfile('Xdir3/subdir/Xfile')) 85 call assert_true(isdirectory('Xdir4')) 86 call assert_true(isdirectory('Xdir3/Xlink')) 87 call assert_equal(['a', 'b'], readfile('Xdir4/Xfile')) 88 89 call assert_equal(0, delete('Xdir3', 'rf')) 90 call assert_false(isdirectory('Xdir3')) 91 call assert_equal(-1, delete('Xdir3', 'd')) 92 " symlink is deleted, not the directory it points to 93 call assert_true(isdirectory('Xdir4')) 94 call assert_equal(['a', 'b'], readfile('Xdir4/Xfile')) 95 call assert_equal(0, delete('Xdir4/Xfile')) 96 call assert_equal(0, delete('Xdir4', 'd')) 97endfunc 98