aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir
diff options
context:
space:
mode:
authorDaniel Hahler <git@thequod.de>2019-06-17 14:42:51 +0200
committerDaniel Hahler <git@thequod.de>2019-06-17 23:43:26 +0200
commit9485061baac53e5a6f07ddf05751b152078a1ab1 (patch)
tree08de5252daa10e46c1140fa58d30732efcc18b96 /src/nvim/testdir
parent4946751906370134cd02e8da0736bef221171172 (diff)
downloadrneovim-9485061baac53e5a6f07ddf05751b152078a1ab1.tar.gz
rneovim-9485061baac53e5a6f07ddf05751b152078a1ab1.tar.bz2
rneovim-9485061baac53e5a6f07ddf05751b152078a1ab1.zip
vim-patch:8.0.1039: cannot change a line in not current buffer
Problem: Cannot change a line in a buffer other than the current one. Solution: Add setbufline(). (Yasuhiro Matsumoto, Ozaki Kiichi, closes vim/vim#1953) https://github.com/vim/vim/commit/b31cf2bb0be95d106bd8eef93cc07550591c1d0d
Diffstat (limited to 'src/nvim/testdir')
-rw-r--r--src/nvim/testdir/test_bufline.vim26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_bufline.vim b/src/nvim/testdir/test_bufline.vim
new file mode 100644
index 0000000000..7df36aa6a2
--- /dev/null
+++ b/src/nvim/testdir/test_bufline.vim
@@ -0,0 +1,26 @@
+" Tests for setbufline() and getbufline()
+
+func Test_setbufline_getbufline()
+ new
+ let b = bufnr('%')
+ hide
+ call assert_equal(0, setbufline(b, 1, ['foo', 'bar']))
+ call assert_equal(['foo'], getbufline(b, 1))
+ call assert_equal(['bar'], getbufline(b, 2))
+ call assert_equal(['foo', 'bar'], getbufline(b, 1, 2))
+ exe "bd!" b
+ call assert_equal([], getbufline(b, 1, 2))
+
+ split Xtest
+ call setline(1, ['a', 'b', 'c'])
+ let b = bufnr('%')
+ wincmd w
+ call assert_equal(1, setbufline(b, 5, ['x']))
+ call assert_equal(1, setbufline(1234, 1, ['x']))
+ call assert_equal(0, setbufline(b, 4, ['d', 'e']))
+ call assert_equal(['c'], getbufline(b, 3))
+ call assert_equal(['d'], getbufline(b, 4))
+ call assert_equal(['e'], getbufline(b, 5))
+ call assert_equal([], getbufline(b, 6))
+ exe "bwipe! " . b
+endfunc