blob: f57dd73ef3f811cca99418f442fb0db9eb7e96cd [file] [log] [blame]
Bram Moolenaarb31cf2b2017-09-02 19:45:19 +02001" Tests for setbufline() and getbufline()
2
Bram Moolenaar11aa62f2017-09-04 22:56:01 +02003if !exists('*GetVimCommand')
4 source shared.vim
5endif
6
Bram Moolenaarb31cf2b2017-09-02 19:45:19 +02007func Test_setbufline_getbufline()
8 new
9 let b = bufnr('%')
10 hide
11 call assert_equal(0, setbufline(b, 1, ['foo', 'bar']))
12 call assert_equal(['foo'], getbufline(b, 1))
13 call assert_equal(['bar'], getbufline(b, 2))
14 call assert_equal(['foo', 'bar'], getbufline(b, 1, 2))
15 exe "bd!" b
16 call assert_equal([], getbufline(b, 1, 2))
17
18 split Xtest
19 call setline(1, ['a', 'b', 'c'])
20 let b = bufnr('%')
21 wincmd w
22 call assert_equal(1, setbufline(b, 5, ['x']))
23 call assert_equal(1, setbufline(1234, 1, ['x']))
24 call assert_equal(0, setbufline(b, 4, ['d', 'e']))
25 call assert_equal(['c'], getbufline(b, 3))
26 call assert_equal(['d'], getbufline(b, 4))
27 call assert_equal(['e'], getbufline(b, 5))
28 call assert_equal([], getbufline(b, 6))
29 exe "bwipe! " . b
30endfunc
Bram Moolenaar9d954202017-09-04 20:34:19 +020031
32func Test_setline_startup()
33 let cmd = GetVimCommand('Xscript')
34 if cmd == ''
35 return
36 endif
Bram Moolenaar11aa62f2017-09-04 22:56:01 +020037 call writefile(['call setline(1, "Hello")', 'silent w Xtest', 'q!'], 'Xscript')
Bram Moolenaar9d954202017-09-04 20:34:19 +020038 call system(cmd)
39 call assert_equal(['Hello'], readfile('Xtest'))
40
41 call delete('Xscript')
42 call delete('Xtest')
43endfunc