Mercurial > vim
view src/testdir/test_delete.vim @ 9185:70d3337ff173 v7.4.1876
commit https://github.com/vim/vim/commit/a0055ad3a789b8eeb0c983d8a18d4bcaeaf456b8
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jun 2 18:37:05 2016 +0200
patch 7.4.1876
Problem: Typing "k" at the hit-enter prompt has no effect.
Solution: Don't assume recursive use of the prompt if a character was typed.
(Hirohito Higashi)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 02 Jun 2016 18:45:04 +0200 |
parents | b44fc33ef92a |
children | 7f355d8cd634 |
line wrap: on
line source
" Test for delete(). func Test_file_delete() split Xfile call setline(1, ['a', 'b']) wq call assert_equal(['a', 'b'], readfile('Xfile')) call assert_equal(0, delete('Xfile')) call assert_fails('call readfile("Xfile")', 'E484:') call assert_equal(-1, delete('Xfile')) endfunc func Test_dir_delete() call mkdir('Xdir1') call assert_true(isdirectory('Xdir1')) call assert_equal(0, delete('Xdir1', 'd')) call assert_false(isdirectory('Xdir1')) call assert_equal(-1, delete('Xdir1', 'd')) endfunc func Test_recursive_delete() call mkdir('Xdir1') call mkdir('Xdir1/subdir') call mkdir('Xdir1/empty') split Xdir1/Xfile call setline(1, ['a', 'b']) w w Xdir1/subdir/Xfile close call assert_true(isdirectory('Xdir1')) call assert_equal(['a', 'b'], readfile('Xdir1/Xfile')) call assert_true(isdirectory('Xdir1/subdir')) call assert_equal(['a', 'b'], readfile('Xdir1/subdir/Xfile')) call assert_true(isdirectory('Xdir1/empty')) call assert_equal(0, delete('Xdir1', 'rf')) call assert_false(isdirectory('Xdir1')) call assert_equal(-1, delete('Xdir1', 'd')) endfunc func Test_symlink_delete() if !has('unix') return endif split Xfile call setline(1, ['a', 'b']) wq silent !ln -s Xfile Xlink " Delete the link, not the file call assert_equal(0, delete('Xlink')) call assert_equal(-1, delete('Xlink')) call assert_equal(0, delete('Xfile')) endfunc func Test_symlink_dir_delete() if !has('unix') return endif call mkdir('Xdir1') silent !ln -s Xdir1 Xlink call assert_true(isdirectory('Xdir1')) call assert_true(isdirectory('Xlink')) " Delete the link, not the directory call assert_equal(0, delete('Xlink')) call assert_equal(-1, delete('Xlink')) call assert_equal(0, delete('Xdir1', 'd')) endfunc func Test_symlink_recursive_delete() if !has('unix') return endif call mkdir('Xdir3') call mkdir('Xdir3/subdir') call mkdir('Xdir4') split Xdir3/Xfile call setline(1, ['a', 'b']) w w Xdir3/subdir/Xfile w Xdir4/Xfile close silent !ln -s ../Xdir4 Xdir3/Xlink call assert_true(isdirectory('Xdir3')) call assert_equal(['a', 'b'], readfile('Xdir3/Xfile')) call assert_true(isdirectory('Xdir3/subdir')) call assert_equal(['a', 'b'], readfile('Xdir3/subdir/Xfile')) call assert_true(isdirectory('Xdir4')) call assert_true(isdirectory('Xdir3/Xlink')) call assert_equal(['a', 'b'], readfile('Xdir4/Xfile')) call assert_equal(0, delete('Xdir3', 'rf')) call assert_false(isdirectory('Xdir3')) call assert_equal(-1, delete('Xdir3', 'd')) " symlink is deleted, not the directory it points to call assert_true(isdirectory('Xdir4')) call assert_equal(['a', 'b'], readfile('Xdir4/Xfile')) call assert_equal(0, delete('Xdir4/Xfile')) call assert_equal(0, delete('Xdir4', 'd')) endfunc