summaryrefslogtreecommitdiff
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-06-13 19:38:37 +0200
committerBram Moolenaar <Bram@vim.org>2017-06-13 19:38:37 +0200
commit8cf91286ca46a501d24e4b7d631b193256782c88 (patch)
tree98d8c9d8c4b6a9c88376b64b56fbadf74bff3f13 /src/testdir
parent3ec574f2b549f456f664f689d6da36dc5719aeb9 (diff)
downloadvim-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.vim21
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