diff src/testdir/test_delete.vim @ 7615:228ff048db20 v7.4.1107

commit https://github.com/vim/vim/commit/da440d21a6b94d7f525fa7be9b1417c78dd9aa4c Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 16 21:27:23 2016 +0100 patch 7.4.1107 Problem: Vim can create a directory but not delete it. Solution: Add an argument to delete() to make it possible to delete a directory, also recursively.
author Christian Brabandt <cb@256bit.org>
date Sat, 16 Jan 2016 21:30:05 +0100
parents
children befbed72da87
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/src/testdir/test_delete.vim
@@ -0,0 +1,36 @@
+" 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')
+  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_equal(0, delete('Xdir1', 'rf'))
+  call assert_false(isdirectory('Xdir1'))
+  call assert_equal(-1, delete('Xdir1', 'd'))
+endfunc