Mercurial > vim
view src/testdir/test_delete.vim @ 31497:aa45593ec2ca v9.0.1081
patch 9.0.1081: using "->" with split lines does not always work
Commit: https://github.com/vim/vim/commit/34820944ed101e1fbad16d552308f1486e715d27
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Dec 19 20:28:38 2022 +0000
patch 9.0.1081: using "->" with split lines does not always work
Problem: Using "->" with split lines does not always work.
Solution: Avoid trying to get another line. (closes https://github.com/vim/vim/issues/11723)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 19 Dec 2022 21:30:03 +0100 |
parents | 98f5a0618a77 |
children | 58c9f11eae5b |
line wrap: on
line source
" Test for delete(). source check.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 " vim: shiftwidth=2 sts=2 expandtab