1da440d21SBram Moolenaar" Test for delete(). 2da440d21SBram Moolenaar 3*aeb313f3SBram Moolenaarsource check.vim 4*aeb313f3SBram Moolenaar 5da440d21SBram Moolenaarfunc Test_file_delete() 6da440d21SBram Moolenaar split Xfile 7da440d21SBram Moolenaar call setline(1, ['a', 'b']) 8da440d21SBram Moolenaar wq 9da440d21SBram Moolenaar call assert_equal(['a', 'b'], readfile('Xfile')) 10da440d21SBram Moolenaar call assert_equal(0, delete('Xfile')) 11da440d21SBram Moolenaar call assert_fails('call readfile("Xfile")', 'E484:') 12da440d21SBram Moolenaar call assert_equal(-1, delete('Xfile')) 134520d440SBram Moolenaar bwipe Xfile 14da440d21SBram Moolenaarendfunc 15da440d21SBram Moolenaar 16da440d21SBram Moolenaarfunc Test_dir_delete() 17da440d21SBram Moolenaar call mkdir('Xdir1') 18da440d21SBram Moolenaar call assert_true(isdirectory('Xdir1')) 19da440d21SBram Moolenaar call assert_equal(0, delete('Xdir1', 'd')) 20da440d21SBram Moolenaar call assert_false(isdirectory('Xdir1')) 21da440d21SBram Moolenaar call assert_equal(-1, delete('Xdir1', 'd')) 22da440d21SBram Moolenaarendfunc 23da440d21SBram Moolenaar 24da440d21SBram Moolenaarfunc Test_recursive_delete() 25da440d21SBram Moolenaar call mkdir('Xdir1') 26da440d21SBram Moolenaar call mkdir('Xdir1/subdir') 27336bd622SBram Moolenaar call mkdir('Xdir1/empty') 28da440d21SBram Moolenaar split Xdir1/Xfile 29da440d21SBram Moolenaar call setline(1, ['a', 'b']) 30da440d21SBram Moolenaar w 31da440d21SBram Moolenaar w Xdir1/subdir/Xfile 32da440d21SBram Moolenaar close 33da440d21SBram Moolenaar call assert_true(isdirectory('Xdir1')) 34da440d21SBram Moolenaar call assert_equal(['a', 'b'], readfile('Xdir1/Xfile')) 35da440d21SBram Moolenaar call assert_true(isdirectory('Xdir1/subdir')) 36da440d21SBram Moolenaar call assert_equal(['a', 'b'], readfile('Xdir1/subdir/Xfile')) 37f9f24ce7SBram Moolenaar call assert_true('Xdir1/empty'->isdirectory()) 38da440d21SBram Moolenaar call assert_equal(0, delete('Xdir1', 'rf')) 39da440d21SBram Moolenaar call assert_false(isdirectory('Xdir1')) 40da440d21SBram Moolenaar call assert_equal(-1, delete('Xdir1', 'd')) 414520d440SBram Moolenaar bwipe Xdir1/Xfile 424520d440SBram Moolenaar bwipe Xdir1/subdir/Xfile 43da440d21SBram Moolenaarendfunc 4443a34f9fSBram Moolenaar 4543a34f9fSBram Moolenaarfunc Test_symlink_delete() 46*aeb313f3SBram Moolenaar CheckUnix 4743a34f9fSBram Moolenaar split Xfile 4843a34f9fSBram Moolenaar call setline(1, ['a', 'b']) 4943a34f9fSBram Moolenaar wq 5043a34f9fSBram Moolenaar silent !ln -s Xfile Xlink 5143a34f9fSBram Moolenaar " Delete the link, not the file 5243a34f9fSBram Moolenaar call assert_equal(0, delete('Xlink')) 5343a34f9fSBram Moolenaar call assert_equal(-1, delete('Xlink')) 5443a34f9fSBram Moolenaar call assert_equal(0, delete('Xfile')) 554520d440SBram Moolenaar bwipe Xfile 5643a34f9fSBram Moolenaarendfunc 5743a34f9fSBram Moolenaar 5843a34f9fSBram Moolenaarfunc Test_symlink_dir_delete() 59*aeb313f3SBram Moolenaar CheckUnix 6043a34f9fSBram Moolenaar call mkdir('Xdir1') 6143a34f9fSBram Moolenaar silent !ln -s Xdir1 Xlink 6243a34f9fSBram Moolenaar call assert_true(isdirectory('Xdir1')) 6343a34f9fSBram Moolenaar call assert_true(isdirectory('Xlink')) 6443a34f9fSBram Moolenaar " Delete the link, not the directory 6543a34f9fSBram Moolenaar call assert_equal(0, delete('Xlink')) 6643a34f9fSBram Moolenaar call assert_equal(-1, delete('Xlink')) 6743a34f9fSBram Moolenaar call assert_equal(0, delete('Xdir1', 'd')) 6843a34f9fSBram Moolenaarendfunc 6943a34f9fSBram Moolenaar 7043a34f9fSBram Moolenaarfunc Test_symlink_recursive_delete() 71*aeb313f3SBram Moolenaar CheckUnix 7243a34f9fSBram Moolenaar call mkdir('Xdir3') 7343a34f9fSBram Moolenaar call mkdir('Xdir3/subdir') 7443a34f9fSBram Moolenaar call mkdir('Xdir4') 7543a34f9fSBram Moolenaar split Xdir3/Xfile 7643a34f9fSBram Moolenaar call setline(1, ['a', 'b']) 7743a34f9fSBram Moolenaar w 7843a34f9fSBram Moolenaar w Xdir3/subdir/Xfile 7943a34f9fSBram Moolenaar w Xdir4/Xfile 8043a34f9fSBram Moolenaar close 8143a34f9fSBram Moolenaar silent !ln -s ../Xdir4 Xdir3/Xlink 8243a34f9fSBram Moolenaar 8343a34f9fSBram Moolenaar call assert_true(isdirectory('Xdir3')) 8443a34f9fSBram Moolenaar call assert_equal(['a', 'b'], readfile('Xdir3/Xfile')) 8543a34f9fSBram Moolenaar call assert_true(isdirectory('Xdir3/subdir')) 8643a34f9fSBram Moolenaar call assert_equal(['a', 'b'], readfile('Xdir3/subdir/Xfile')) 8743a34f9fSBram Moolenaar call assert_true(isdirectory('Xdir4')) 8843a34f9fSBram Moolenaar call assert_true(isdirectory('Xdir3/Xlink')) 8943a34f9fSBram Moolenaar call assert_equal(['a', 'b'], readfile('Xdir4/Xfile')) 9043a34f9fSBram Moolenaar 9143a34f9fSBram Moolenaar call assert_equal(0, delete('Xdir3', 'rf')) 9243a34f9fSBram Moolenaar call assert_false(isdirectory('Xdir3')) 9343a34f9fSBram Moolenaar call assert_equal(-1, delete('Xdir3', 'd')) 9443a34f9fSBram Moolenaar " symlink is deleted, not the directory it points to 9543a34f9fSBram Moolenaar call assert_true(isdirectory('Xdir4')) 9643a34f9fSBram Moolenaar call assert_equal(['a', 'b'], readfile('Xdir4/Xfile')) 9743a34f9fSBram Moolenaar call assert_equal(0, delete('Xdir4/Xfile')) 9843a34f9fSBram Moolenaar call assert_equal(0, delete('Xdir4', 'd')) 994520d440SBram Moolenaar 1004520d440SBram Moolenaar bwipe Xdir3/Xfile 1014520d440SBram Moolenaar bwipe Xdir3/subdir/Xfile 1024520d440SBram Moolenaar bwipe Xdir4/Xfile 10343a34f9fSBram Moolenaarendfunc 10417aca707SBram Moolenaar 10517aca707SBram Moolenaarfunc Test_delete_errors() 10617aca707SBram Moolenaar call assert_fails('call delete('''')', 'E474:') 10717aca707SBram Moolenaar call assert_fails('call delete(''foo'', 0)', 'E15:') 10817aca707SBram Moolenaarendfunc 1096d91bcb4SBram Moolenaar 1106d91bcb4SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 111