186edef66SBram Moolenaar" Test using the window ID. 2*6d91bcb4SBram Moolenaar 35a4c3082SBram Moolenaarsource check.vim 486edef66SBram Moolenaar 586edef66SBram Moolenaarfunc Test_win_getid() 686edef66SBram Moolenaar edit one 786edef66SBram Moolenaar let id1 = win_getid() 8888ccac8SBram Moolenaar let w:one = 'one' 986edef66SBram Moolenaar split two 1086edef66SBram Moolenaar let id2 = win_getid() 119cdf86b8SBram Moolenaar let bufnr2 = bufnr('%') 12888ccac8SBram Moolenaar let w:two = 'two' 1386edef66SBram Moolenaar split three 1486edef66SBram Moolenaar let id3 = win_getid() 15888ccac8SBram Moolenaar let w:three = 'three' 1686edef66SBram Moolenaar tabnew 1786edef66SBram Moolenaar edit four 1886edef66SBram Moolenaar let id4 = win_getid() 19888ccac8SBram Moolenaar let w:four = 'four' 2086edef66SBram Moolenaar split five 2186edef66SBram Moolenaar let id5 = win_getid() 229cdf86b8SBram Moolenaar let bufnr5 = bufnr('%') 23888ccac8SBram Moolenaar let w:five = 'five' 2486edef66SBram Moolenaar tabnext 2586edef66SBram Moolenaar 2686edef66SBram Moolenaar wincmd w 2786edef66SBram Moolenaar call assert_equal("two", expand("%")) 2886edef66SBram Moolenaar call assert_equal(id2, win_getid()) 2986edef66SBram Moolenaar let nr2 = winnr() 3086edef66SBram Moolenaar wincmd w 3186edef66SBram Moolenaar call assert_equal("one", expand("%")) 3286edef66SBram Moolenaar call assert_equal(id1, win_getid()) 3386edef66SBram Moolenaar let nr1 = winnr() 3486edef66SBram Moolenaar wincmd w 3586edef66SBram Moolenaar call assert_equal("three", expand("%")) 3686edef66SBram Moolenaar call assert_equal(id3, win_getid()) 3786edef66SBram Moolenaar let nr3 = winnr() 38888ccac8SBram Moolenaar call assert_equal('one', getwinvar(id1, 'one')) 39888ccac8SBram Moolenaar call assert_equal('two', getwinvar(id2, 'two')) 40888ccac8SBram Moolenaar call assert_equal('three', getwinvar(id3, 'three')) 4186edef66SBram Moolenaar tabnext 4286edef66SBram Moolenaar call assert_equal("five", expand("%")) 4386edef66SBram Moolenaar call assert_equal(id5, win_getid()) 4486edef66SBram Moolenaar let nr5 = winnr() 4586edef66SBram Moolenaar wincmd w 4686edef66SBram Moolenaar call assert_equal("four", expand("%")) 4786edef66SBram Moolenaar call assert_equal(id4, win_getid()) 4886edef66SBram Moolenaar let nr4 = winnr() 49888ccac8SBram Moolenaar call assert_equal('four', getwinvar(id4, 'four')) 50888ccac8SBram Moolenaar call assert_equal('five', getwinvar(id5, 'five')) 51888ccac8SBram Moolenaar call settabwinvar(1, id2, 'two', '2') 52888ccac8SBram Moolenaar call setwinvar(id4, 'four', '4') 5386edef66SBram Moolenaar tabnext 54888ccac8SBram Moolenaar call assert_equal('4', gettabwinvar(2, id4, 'four')) 55888ccac8SBram Moolenaar call assert_equal('five', gettabwinvar(2, id5, 'five')) 56888ccac8SBram Moolenaar call assert_equal('2', getwinvar(id2, 'two')) 5786edef66SBram Moolenaar 5886edef66SBram Moolenaar exe nr1 . "wincmd w" 5986edef66SBram Moolenaar call assert_equal(id1, win_getid()) 6086edef66SBram Moolenaar exe nr2 . "wincmd w" 6186edef66SBram Moolenaar call assert_equal(id2, win_getid()) 6286edef66SBram Moolenaar exe nr3 . "wincmd w" 6386edef66SBram Moolenaar call assert_equal(id3, win_getid()) 6486edef66SBram Moolenaar tabnext 6586edef66SBram Moolenaar exe nr4 . "wincmd w" 6686edef66SBram Moolenaar call assert_equal(id4, win_getid()) 6786edef66SBram Moolenaar exe nr5 . "wincmd w" 6886edef66SBram Moolenaar call assert_equal(id5, win_getid()) 6986edef66SBram Moolenaar 7086edef66SBram Moolenaar call win_gotoid(id2) 7186edef66SBram Moolenaar call assert_equal("two", expand("%")) 72f92e58caSBram Moolenaar eval id4->win_gotoid() 7386edef66SBram Moolenaar call assert_equal("four", expand("%")) 7486edef66SBram Moolenaar call win_gotoid(id1) 7586edef66SBram Moolenaar call assert_equal("one", expand("%")) 7686edef66SBram Moolenaar call win_gotoid(id5) 7786edef66SBram Moolenaar call assert_equal("five", expand("%")) 7886edef66SBram Moolenaar 7986edef66SBram Moolenaar call assert_equal(0, win_id2win(9999)) 80f92e58caSBram Moolenaar call assert_equal(nr5, id5->win_id2win()) 8186edef66SBram Moolenaar call assert_equal(0, win_id2win(id1)) 8286edef66SBram Moolenaar tabnext 8386edef66SBram Moolenaar call assert_equal(nr1, win_id2win(id1)) 8486edef66SBram Moolenaar 8586edef66SBram Moolenaar call assert_equal([0, 0], win_id2tabwin(9999)) 86f92e58caSBram Moolenaar call assert_equal([1, nr2], id2->win_id2tabwin()) 8786edef66SBram Moolenaar call assert_equal([2, nr4], win_id2tabwin(id4)) 8886edef66SBram Moolenaar 899cdf86b8SBram Moolenaar call assert_equal([], win_findbuf(9999)) 90f92e58caSBram Moolenaar call assert_equal([id2], bufnr2->win_findbuf()) 919cdf86b8SBram Moolenaar call win_gotoid(id5) 929cdf86b8SBram Moolenaar split 939cdf86b8SBram Moolenaar call assert_equal(sort([id5, win_getid()]), sort(win_findbuf(bufnr5))) 949cdf86b8SBram Moolenaar 9599fa7219SBram Moolenaar call assert_fails('let w = win_getid([])', 'E745:') 9699fa7219SBram Moolenaar call assert_equal(0, win_getid(-1)) 9799fa7219SBram Moolenaar call assert_equal(-1, win_getid(1, -1)) 9899fa7219SBram Moolenaar 9986edef66SBram Moolenaar only! 10086edef66SBram Moolenaarendfunc 1018e639052SBram Moolenaar 1028e639052SBram Moolenaarfunc Test_win_getid_curtab() 1035a4c3082SBram Moolenaar CheckFeature quickfix 1045a4c3082SBram Moolenaar 1058e639052SBram Moolenaar tabedit X 1068e639052SBram Moolenaar tabfirst 1078e639052SBram Moolenaar copen 1088e639052SBram Moolenaar only 109f92e58caSBram Moolenaar call assert_equal(win_getid(1), 1->win_getid( 1)) 1108e639052SBram Moolenaar tabclose! 1118e639052SBram Moolenaarendfunc 1120f6b4f06SBram Moolenaar 1130f6b4f06SBram Moolenaarfunc Test_winlayout() 1140f6b4f06SBram Moolenaar let w1 = win_getid() 1150f6b4f06SBram Moolenaar call assert_equal(['leaf', w1], winlayout()) 1160f6b4f06SBram Moolenaar 1170f6b4f06SBram Moolenaar split 1180f6b4f06SBram Moolenaar let w2 = win_getid() 1190f6b4f06SBram Moolenaar call assert_equal(['col', [['leaf', w2], ['leaf', w1]]], winlayout()) 1200f6b4f06SBram Moolenaar 1210f6b4f06SBram Moolenaar split 1220f6b4f06SBram Moolenaar let w3 = win_getid() 1230f6b4f06SBram Moolenaar call assert_equal(['col', [['leaf', w3], ['leaf', w2], ['leaf', w1]]], winlayout()) 1240f6b4f06SBram Moolenaar 1250f6b4f06SBram Moolenaar 2wincmd w 1260f6b4f06SBram Moolenaar vsplit 1270f6b4f06SBram Moolenaar let w4 = win_getid() 1280f6b4f06SBram Moolenaar call assert_equal(['col', [['leaf', w3], ['row', [['leaf', w4], ['leaf', w2]]], ['leaf', w1]]], winlayout()) 1290f6b4f06SBram Moolenaar 1300f6b4f06SBram Moolenaar only! 131f92e58caSBram Moolenaar 132f92e58caSBram Moolenaar let w1 = win_getid() 133f92e58caSBram Moolenaar call assert_equal(['leaf', w1], winlayout(1)) 134f92e58caSBram Moolenaar tabnew 135f92e58caSBram Moolenaar let w2 = win_getid() 136f92e58caSBram Moolenaar call assert_equal(['leaf', w2], 2->winlayout()) 137f92e58caSBram Moolenaar tabclose 13899fa7219SBram Moolenaar 13999fa7219SBram Moolenaar call assert_equal([], winlayout(-1)) 1400f6b4f06SBram Moolenaarendfunc 14199fa7219SBram Moolenaar 14299fa7219SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 143