summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_bufline.vim
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-11-06 22:26:05 +0000
committerBram Moolenaar <Bram@vim.org>2022-11-06 22:26:05 +0000
commit7af3ee2b83545169d78a28ab1cd89aff1127f8b3 (patch)
tree9f34e13a19ff1f9f8247e8374d7bcb6d4b806bdd /src/testdir/test_bufline.vim
parentadbc08fd69433b5216e609a404d674f3e67eea9c (diff)
patch 9.0.0841: deletebufline() does not always return 1 on failurev9.0.0841
Problem: deletebufline() does not always return 1 on failure. Solution: Refactor the code to make it work more predictable. (closes #11511)
Diffstat (limited to 'src/testdir/test_bufline.vim')
-rw-r--r--src/testdir/test_bufline.vim16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/testdir/test_bufline.vim b/src/testdir/test_bufline.vim
index 13e891bcf1..da8c4a5aa2 100644
--- a/src/testdir/test_bufline.vim
+++ b/src/testdir/test_bufline.vim
@@ -279,4 +279,20 @@ func Test_setbufline_startup_nofile()
call delete('Xresult')
endfunc
+" Test that setbufline(), appendbufline() and deletebufline() should fail and
+" return 1 when "textlock" is active.
+func Test_change_bufline_with_textlock()
+ new
+ inoremap <buffer> <expr> <F2> setbufline('', 1, '')
+ call assert_fails("normal a\<F2>", 'E565:')
+ call assert_equal('1', getline(1))
+ inoremap <buffer> <expr> <F2> appendbufline('', 1, '')
+ call assert_fails("normal a\<F2>", 'E565:')
+ call assert_equal('11', getline(1))
+ inoremap <buffer> <expr> <F2> deletebufline('', 1)
+ call assert_fails("normal a\<F2>", 'E565:')
+ call assert_equal('111', getline(1))
+ bwipe!
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab