diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2023-11-30 20:35:25 +0000 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2023-11-30 20:35:25 +0000 |
commit | 1b7b916b7631ddf73c38e3a0070d64e4636cb2f3 (patch) | |
tree | cd08258054db80bb9a11b1061bb091c70b76926a /test/old/testdir/test_delete.vim | |
parent | eaa89c11d0f8aefbb512de769c6c82f61a8baca3 (diff) | |
parent | 4a8bf24ac690004aedf5540fa440e788459e5e34 (diff) | |
download | rneovim-aucmd_textputpost.tar.gz rneovim-aucmd_textputpost.tar.bz2 rneovim-aucmd_textputpost.zip |
Merge remote-tracking branch 'upstream/master' into aucmd_textputpostaucmd_textputpost
Diffstat (limited to 'test/old/testdir/test_delete.vim')
-rw-r--r-- | test/old/testdir/test_delete.vim | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/test/old/testdir/test_delete.vim b/test/old/testdir/test_delete.vim new file mode 100644 index 0000000000..c00b8ca47d --- /dev/null +++ b/test/old/testdir/test_delete.vim @@ -0,0 +1,133 @@ +" Test for delete(). + +source check.vim +source term_util.vim +source screendump.vim + +func Test_file_delete() + split Xfdelfile + call setline(1, ['a', 'b']) + wq + call assert_equal(['a', 'b'], readfile('Xfdelfile')) + call assert_equal(0, delete('Xfdelfile')) + call assert_fails('call readfile("Xfdelfile")', 'E484:') + call assert_equal(-1, delete('Xfdelfile')) + bwipe Xfdelfile +endfunc + +func Test_dir_delete() + call mkdir('Xdirdel') + call assert_true(isdirectory('Xdirdel')) + call assert_equal(0, delete('Xdirdel', 'd')) + call assert_false(isdirectory('Xdirdel')) + call assert_equal(-1, delete('Xdirdel', 'd')) +endfunc + +func Test_recursive_delete() + call mkdir('Xrecdel') + call mkdir('Xrecdel/subdir') + call mkdir('Xrecdel/empty') + split Xrecdel/Xfile + call setline(1, ['a', 'b']) + w + w Xrecdel/subdir/Xfile + close + call assert_true(isdirectory('Xrecdel')) + call assert_equal(['a', 'b'], readfile('Xrecdel/Xfile')) + call assert_true(isdirectory('Xrecdel/subdir')) + call assert_equal(['a', 'b'], readfile('Xrecdel/subdir/Xfile')) + call assert_true('Xrecdel/empty'->isdirectory()) + call assert_equal(0, delete('Xrecdel', 'rf')) + call assert_false(isdirectory('Xrecdel')) + call assert_equal(-1, delete('Xrecdel', 'd')) + bwipe Xrecdel/Xfile + bwipe Xrecdel/subdir/Xfile +endfunc + +func Test_symlink_delete() + CheckUnix + split Xslfile + call setline(1, ['a', 'b']) + wq + silent !ln -s Xslfile Xdellink + " Delete the link, not the file + call assert_equal(0, delete('Xdellink')) + call assert_equal(-1, delete('Xdellink')) + call assert_equal(0, delete('Xslfile')) + bwipe Xslfile +endfunc + +func Test_symlink_dir_delete() + CheckUnix + call mkdir('Xsymdir') + silent !ln -s Xsymdir Xdirlink + call assert_true(isdirectory('Xsymdir')) + call assert_true(isdirectory('Xdirlink')) + " Delete the link, not the directory + call assert_equal(0, delete('Xdirlink')) + call assert_equal(-1, delete('Xdirlink')) + call assert_equal(0, delete('Xsymdir', 'd')) +endfunc + +func Test_symlink_recursive_delete() + CheckUnix + call mkdir('Xrecdir3') + call mkdir('Xrecdir3/subdir') + call mkdir('Xrecdir4') + split Xrecdir3/Xfile + call setline(1, ['a', 'b']) + w + w Xrecdir3/subdir/Xfile + w Xrecdir4/Xfile + close + silent !ln -s ../Xrecdir4 Xrecdir3/Xreclink + + call assert_true(isdirectory('Xrecdir3')) + call assert_equal(['a', 'b'], readfile('Xrecdir3/Xfile')) + call assert_true(isdirectory('Xrecdir3/subdir')) + call assert_equal(['a', 'b'], readfile('Xrecdir3/subdir/Xfile')) + call assert_true(isdirectory('Xrecdir4')) + call assert_true(isdirectory('Xrecdir3/Xreclink')) + call assert_equal(['a', 'b'], readfile('Xrecdir4/Xfile')) + + call assert_equal(0, delete('Xrecdir3', 'rf')) + call assert_false(isdirectory('Xrecdir3')) + call assert_equal(-1, delete('Xrecdir3', 'd')) + " symlink is deleted, not the directory it points to + call assert_true(isdirectory('Xrecdir4')) + call assert_equal(['a', 'b'], readfile('Xrecdir4/Xfile')) + call assert_equal(0, delete('Xrecdir4/Xfile')) + call assert_equal(0, delete('Xrecdir4', 'd')) + + bwipe Xrecdir3/Xfile + bwipe Xrecdir3/subdir/Xfile + bwipe Xrecdir4/Xfile +endfunc + +func Test_delete_errors() + call assert_fails('call delete('''')', 'E474:') + call assert_fails('call delete(''foo'', 0)', 'E15:') +endfunc + +" This should no longer trigger ml_get errors +func Test_delete_ml_get_errors() + CheckRunVimInTerminal + let lines =<< trim END + set noshowcmd noruler scrolloff=0 + source samples/matchparen.vim + END + call writefile(lines, 'XDelete_ml_get_error', 'D') + let buf = RunVimInTerminal('-S XDelete_ml_get_error samples/box.txt', #{rows: 10, wait_for_ruler: 0}) + call TermWait(buf) + call term_sendkeys(buf, "249GV\<C-End>d") + call TermWait(buf) + " The following used to trigger ml_get errors + call term_sendkeys(buf, "\<PageUp>") + call TermWait(buf) + call term_sendkeys(buf, ":mess\<cr>") + call VerifyScreenDump(buf, 'Test_delete_ml_get_errors_1', {}) + call term_sendkeys(buf, ":q!\<cr>") + call StopVimInTerminal(buf) +endfunc + +" vim: shiftwidth=2 sts=2 expandtab |