diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-06-13 19:38:37 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-06-13 19:38:37 +0200 |
commit | 8cf91286ca46a501d24e4b7d631b193256782c88 (patch) | |
tree | 98d8c9d8c4b6a9c88376b64b56fbadf74bff3f13 /src/testdir | |
parent | 3ec574f2b549f456f664f689d6da36dc5719aeb9 (diff) | |
download | vim-git-8cf91286ca46a501d24e4b7d631b193256782c88.tar.gz |
patch 8.0.0642: writefile() continues after detecting an errorv8.0.0642
Problem: writefile() continues after detecting an error.
Solution: Bail out as soon as an error is detected. (suggestions by Nikolai
Pavlov, closes #1476)
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test_writefile.vim | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/testdir/test_writefile.vim b/src/testdir/test_writefile.vim index d820c580a..13c1a888d 100644 --- a/src/testdir/test_writefile.vim +++ b/src/testdir/test_writefile.vim @@ -1,5 +1,6 @@ +" Tests for the writefile() function. -function! Test_WriteFile() +func Test_writefile() let f = tempname() call writefile(["over","written"], f, "b") call writefile(["hello","world"], f, "b") @@ -13,4 +14,20 @@ function! Test_WriteFile() call assert_equal("morning", l[3]) call assert_equal("vimmers", l[4]) call delete(f) -endfunction +endfunc + +func Test_writefile_fails_gently() + call assert_fails('call writefile(["test"], "Xfile", [])', 'E730:') + call assert_false(filereadable("Xfile")) + call delete("Xfile") + + call assert_fails('call writefile(["test", [], [], [], "tset"], "Xfile")', 'E730:') + call assert_false(filereadable("Xfile")) + call delete("Xfile") + + call assert_fails('call writefile([], "Xfile", [])', 'E730:') + call assert_false(filereadable("Xfile")) + call delete("Xfile") + + call assert_fails('call writefile([], [])', 'E730:') +endfunc |