patch 8.1.1378: delete() can not handle a file name that looks like a pattern
Problem: Delete() can not handle a file name that looks like a pattern.
Solution: Use readdir() instead of appending "/*" and expanding wildcards.
(Ken Takata, closes #4424, closes #696)
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index b9520c7..3e4c03c 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -1436,6 +1436,21 @@
call delete('Xdir', 'rf')
endfunc
+func Test_delete_rf()
+ call mkdir('Xdir')
+ call writefile([], 'Xdir/foo.txt')
+ call writefile([], 'Xdir/bar.txt')
+ call mkdir('Xdir/[a-1]') " issue #696
+ call writefile([], 'Xdir/[a-1]/foo.txt')
+ call writefile([], 'Xdir/[a-1]/bar.txt')
+ call assert_true(filereadable('Xdir/foo.txt'))
+ call assert_true(filereadable('Xdir/[a-1]/foo.txt'))
+
+ call assert_equal(0, delete('Xdir', 'rf'))
+ call assert_false(filereadable('Xdir/foo.txt'))
+ call assert_false(filereadable('Xdir/[a-1]/foo.txt'))
+endfunc
+
func Test_call()
call assert_equal(3, call('len', [123]))
call assert_fails("call call('len', 123)", 'E714:')