1b5ae48e9SBram Moolenaar" Tests for the getbufinfo(), getwininfo() and gettabinfo() functions 2b5ae48e9SBram Moolenaar 3b5ae48e9SBram Moolenaarfunction Test_getbufwintabinfo() 4b5ae48e9SBram Moolenaar 1,$bwipeout 5b5ae48e9SBram Moolenaar edit Xtestfile1 6b5ae48e9SBram Moolenaar edit Xtestfile2 7b5ae48e9SBram Moolenaar let buflist = getbufinfo() 8b5ae48e9SBram Moolenaar call assert_equal(2, len(buflist)) 9b5ae48e9SBram Moolenaar call assert_match('Xtestfile1', buflist[0].name) 10b5ae48e9SBram Moolenaar call assert_match('Xtestfile2', getbufinfo('Xtestfile2')[0].name) 11b5ae48e9SBram Moolenaar call assert_equal([], getbufinfo(2016)) 12b5ae48e9SBram Moolenaar edit Xtestfile1 13b5ae48e9SBram Moolenaar hide edit Xtestfile2 14b5ae48e9SBram Moolenaar hide enew 15b5ae48e9SBram Moolenaar call assert_equal(3, len(getbufinfo({'bufloaded':1}))) 16b5ae48e9SBram Moolenaar 17*386600f0SBram Moolenaar set tabstop&vim 18*386600f0SBram Moolenaar let b:editor = 'vim' 19*386600f0SBram Moolenaar let l = getbufinfo('%') 20*386600f0SBram Moolenaar call assert_equal(bufnr('%'), l[0].nr) 21*386600f0SBram Moolenaar call assert_equal(8, l[0].options.tabstop) 22*386600f0SBram Moolenaar call assert_equal('vim', l[0].variables.editor) 23*386600f0SBram Moolenaar call assert_notequal(-1, index(l[0].windows, bufwinid('%'))) 24*386600f0SBram Moolenaar 25*386600f0SBram Moolenaar if has('signs') 26*386600f0SBram Moolenaar call append(0, ['Linux', 'Windows', 'Mac']) 27*386600f0SBram Moolenaar sign define Mark text=>> texthl=Search 28*386600f0SBram Moolenaar exe "sign place 2 line=3 name=Mark buffer=" . bufnr('%') 29*386600f0SBram Moolenaar let l = getbufinfo('%') 30*386600f0SBram Moolenaar call assert_equal(2, l[0].signs[0].id) 31*386600f0SBram Moolenaar call assert_equal(3, l[0].signs[0].lnum) 32*386600f0SBram Moolenaar call assert_equal('Mark', l[0].signs[0].name) 33*386600f0SBram Moolenaar sign unplace * 34*386600f0SBram Moolenaar sign undefine Mark 35*386600f0SBram Moolenaar enew! 36*386600f0SBram Moolenaar endif 37*386600f0SBram Moolenaar 38b5ae48e9SBram Moolenaar only 39b5ae48e9SBram Moolenaar let w1_id = win_getid() 40b5ae48e9SBram Moolenaar new 41b5ae48e9SBram Moolenaar let w2_id = win_getid() 42b5ae48e9SBram Moolenaar tabnew | let w3_id = win_getid() 43b5ae48e9SBram Moolenaar new | let w4_id = win_getid() 44b5ae48e9SBram Moolenaar new | let w5_id = win_getid() 45*386600f0SBram Moolenaar call setwinvar(0, 'signal', 'green') 46b5ae48e9SBram Moolenaar tabfirst 47b5ae48e9SBram Moolenaar let winlist = getwininfo() 48b5ae48e9SBram Moolenaar call assert_equal(5, len(winlist)) 49*386600f0SBram Moolenaar call assert_equal(winbufnr(2), winlist[1].bufnum) 50*386600f0SBram Moolenaar call assert_equal(winheight(2), winlist[1].height) 51*386600f0SBram Moolenaar call assert_equal(1, winlist[2].nr) 52*386600f0SBram Moolenaar call assert_equal('auto', winlist[0].options.signcolumn) 53b5ae48e9SBram Moolenaar call assert_equal(2, winlist[3].tpnr) 54*386600f0SBram Moolenaar call assert_equal('green', winlist[2].variables.signal) 55*386600f0SBram Moolenaar call assert_equal(winwidth(1), winlist[0].width) 56*386600f0SBram Moolenaar call assert_equal(w4_id, winlist[3].winid) 57b5ae48e9SBram Moolenaar let winfo = getwininfo(w5_id)[0] 58b5ae48e9SBram Moolenaar call assert_equal(2, winfo.tpnr) 59b5ae48e9SBram Moolenaar call assert_equal([], getwininfo(3)) 60b5ae48e9SBram Moolenaar 61*386600f0SBram Moolenaar call settabvar(1, 'space', 'build') 62b5ae48e9SBram Moolenaar let tablist = gettabinfo() 63b5ae48e9SBram Moolenaar call assert_equal(2, len(tablist)) 64b5ae48e9SBram Moolenaar call assert_equal(3, len(tablist[1].windows)) 65*386600f0SBram Moolenaar call assert_equal(2, tablist[1].nr) 66*386600f0SBram Moolenaar call assert_equal('build', tablist[0].variables.space) 67*386600f0SBram Moolenaar call assert_equal(w2_id, tablist[0].windows[0]) 68b5ae48e9SBram Moolenaar call assert_equal([], gettabinfo(3)) 69b5ae48e9SBram Moolenaar 70b5ae48e9SBram Moolenaar tabonly | only 71*386600f0SBram Moolenaar 72*386600f0SBram Moolenaar lexpr '' 73*386600f0SBram Moolenaar lopen 74*386600f0SBram Moolenaar copen 75*386600f0SBram Moolenaar let winlist = getwininfo() 76*386600f0SBram Moolenaar call assert_false(winlist[0].quickfix) 77*386600f0SBram Moolenaar call assert_false(winlist[0].loclist) 78*386600f0SBram Moolenaar call assert_true(winlist[1].quickfix) 79*386600f0SBram Moolenaar call assert_true(winlist[1].loclist) 80*386600f0SBram Moolenaar call assert_true(winlist[2].quickfix) 81*386600f0SBram Moolenaar call assert_false(winlist[2].loclist) 82*386600f0SBram Moolenaar wincmd t | only 83b5ae48e9SBram Moolenaarendfunction 84