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 17386600f0SBram Moolenaar set tabstop&vim 18386600f0SBram Moolenaar let b:editor = 'vim' 19386600f0SBram Moolenaar let l = getbufinfo('%') 20386600f0SBram Moolenaar call assert_equal(bufnr('%'), l[0].nr) 21386600f0SBram Moolenaar call assert_equal(8, l[0].options.tabstop) 22386600f0SBram Moolenaar call assert_equal('vim', l[0].variables.editor) 23386600f0SBram Moolenaar call assert_notequal(-1, index(l[0].windows, bufwinid('%'))) 24386600f0SBram Moolenaar 25386600f0SBram Moolenaar if has('signs') 26386600f0SBram Moolenaar call append(0, ['Linux', 'Windows', 'Mac']) 27386600f0SBram Moolenaar sign define Mark text=>> texthl=Search 28386600f0SBram Moolenaar exe "sign place 2 line=3 name=Mark buffer=" . bufnr('%') 29386600f0SBram Moolenaar let l = getbufinfo('%') 30386600f0SBram Moolenaar call assert_equal(2, l[0].signs[0].id) 31386600f0SBram Moolenaar call assert_equal(3, l[0].signs[0].lnum) 32386600f0SBram Moolenaar call assert_equal('Mark', l[0].signs[0].name) 33386600f0SBram Moolenaar sign unplace * 34386600f0SBram Moolenaar sign undefine Mark 35386600f0SBram Moolenaar enew! 36386600f0SBram Moolenaar endif 37386600f0SBram 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() 45386600f0SBram Moolenaar call setwinvar(0, 'signal', 'green') 46b5ae48e9SBram Moolenaar tabfirst 47b5ae48e9SBram Moolenaar let winlist = getwininfo() 48b5ae48e9SBram Moolenaar call assert_equal(5, len(winlist)) 49386600f0SBram Moolenaar call assert_equal(winbufnr(2), winlist[1].bufnum) 50386600f0SBram Moolenaar call assert_equal(winheight(2), winlist[1].height) 51386600f0SBram Moolenaar call assert_equal(1, winlist[2].nr) 52*22177f0cSBram Moolenaar if has('signs') 53386600f0SBram Moolenaar call assert_equal('auto', winlist[0].options.signcolumn) 54*22177f0cSBram Moolenaar endif 55b5ae48e9SBram Moolenaar call assert_equal(2, winlist[3].tpnr) 56386600f0SBram Moolenaar call assert_equal('green', winlist[2].variables.signal) 57386600f0SBram Moolenaar call assert_equal(winwidth(1), winlist[0].width) 58386600f0SBram Moolenaar call assert_equal(w4_id, winlist[3].winid) 59b5ae48e9SBram Moolenaar let winfo = getwininfo(w5_id)[0] 60b5ae48e9SBram Moolenaar call assert_equal(2, winfo.tpnr) 61b5ae48e9SBram Moolenaar call assert_equal([], getwininfo(3)) 62b5ae48e9SBram Moolenaar 63386600f0SBram Moolenaar call settabvar(1, 'space', 'build') 64b5ae48e9SBram Moolenaar let tablist = gettabinfo() 65b5ae48e9SBram Moolenaar call assert_equal(2, len(tablist)) 66b5ae48e9SBram Moolenaar call assert_equal(3, len(tablist[1].windows)) 67386600f0SBram Moolenaar call assert_equal(2, tablist[1].nr) 68386600f0SBram Moolenaar call assert_equal('build', tablist[0].variables.space) 69386600f0SBram Moolenaar call assert_equal(w2_id, tablist[0].windows[0]) 70b5ae48e9SBram Moolenaar call assert_equal([], gettabinfo(3)) 71b5ae48e9SBram Moolenaar 72b5ae48e9SBram Moolenaar tabonly | only 73386600f0SBram Moolenaar 74386600f0SBram Moolenaar lexpr '' 75386600f0SBram Moolenaar lopen 76386600f0SBram Moolenaar copen 77386600f0SBram Moolenaar let winlist = getwininfo() 78386600f0SBram Moolenaar call assert_false(winlist[0].quickfix) 79386600f0SBram Moolenaar call assert_false(winlist[0].loclist) 80386600f0SBram Moolenaar call assert_true(winlist[1].quickfix) 81386600f0SBram Moolenaar call assert_true(winlist[1].loclist) 82386600f0SBram Moolenaar call assert_true(winlist[2].quickfix) 83386600f0SBram Moolenaar call assert_false(winlist[2].loclist) 84386600f0SBram Moolenaar wincmd t | only 85b5ae48e9SBram Moolenaarendfunction 86