1
0
forked from aniani/vim

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)
This commit is contained in:
Bram Moolenaar
2019-05-24 14:14:14 +02:00
parent fcc4d921d6
commit 701ff0a3e5
5 changed files with 187 additions and 135 deletions

View File

@@ -1436,6 +1436,21 @@ func Test_readdir()
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:')