1" Test using the window ID. 2 3func Test_win_getid() 4 edit one 5 let id1 = win_getid() 6 split two 7 let id2 = win_getid() 8 let bufnr2 = bufnr('%') 9 split three 10 let id3 = win_getid() 11 tabnew 12 edit four 13 let id4 = win_getid() 14 split five 15 let id5 = win_getid() 16 let bufnr5 = bufnr('%') 17 tabnext 18 19 wincmd w 20 call assert_equal("two", expand("%")) 21 call assert_equal(id2, win_getid()) 22 let nr2 = winnr() 23 wincmd w 24 call assert_equal("one", expand("%")) 25 call assert_equal(id1, win_getid()) 26 let nr1 = winnr() 27 wincmd w 28 call assert_equal("three", expand("%")) 29 call assert_equal(id3, win_getid()) 30 let nr3 = winnr() 31 tabnext 32 call assert_equal("five", expand("%")) 33 call assert_equal(id5, win_getid()) 34 let nr5 = winnr() 35 wincmd w 36 call assert_equal("four", expand("%")) 37 call assert_equal(id4, win_getid()) 38 let nr4 = winnr() 39 tabnext 40 41 exe nr1 . "wincmd w" 42 call assert_equal(id1, win_getid()) 43 exe nr2 . "wincmd w" 44 call assert_equal(id2, win_getid()) 45 exe nr3 . "wincmd w" 46 call assert_equal(id3, win_getid()) 47 tabnext 48 exe nr4 . "wincmd w" 49 call assert_equal(id4, win_getid()) 50 exe nr5 . "wincmd w" 51 call assert_equal(id5, win_getid()) 52 53 call win_gotoid(id2) 54 call assert_equal("two", expand("%")) 55 call win_gotoid(id4) 56 call assert_equal("four", expand("%")) 57 call win_gotoid(id1) 58 call assert_equal("one", expand("%")) 59 call win_gotoid(id5) 60 call assert_equal("five", expand("%")) 61 62 call assert_equal(0, win_id2win(9999)) 63 call assert_equal(nr5, win_id2win(id5)) 64 call assert_equal(0, win_id2win(id1)) 65 tabnext 66 call assert_equal(nr1, win_id2win(id1)) 67 68 call assert_equal([0, 0], win_id2tabwin(9999)) 69 call assert_equal([1, nr2], win_id2tabwin(id2)) 70 call assert_equal([2, nr4], win_id2tabwin(id4)) 71 72 call assert_equal([], win_findbuf(9999)) 73 call assert_equal([id2], win_findbuf(bufnr2)) 74 call win_gotoid(id5) 75 split 76 call assert_equal(sort([id5, win_getid()]), sort(win_findbuf(bufnr5))) 77 78 only! 79endfunc 80